Ada lagu menyindir yang disebut Little Boxes , awalnya oleh Malvina Reynolds, tentang penyebaran pinggiran kota yang memiliki lirik sebagai berikut:
Kotak-kotak kecil di sisi bukit,
Kotak-kotak kecil yang terbuat dari ticky-tacky,
Kotak-kotak kecil di sisi bukit,
Kotak-kotak kecil semuanya sama.
Ada yang hijau dan yang merah muda,
yang biru dan yang kuning,
Dan mereka semua terbuat dari ticky-norak
Dan mereka semua terlihat sama.
Pekerjaan Anda di sini adalah, diberi input integer n>1
yang mewakili ukuran rumah, output empat "kotak kecil" menggunakan warna berikut (dalam notasi 0xRRGGBB):
Green -- 0x00FF00
Pink --- 0xFF00FF (technically magenta)
Blue --- 0x0000FF
Yellow - 0xFFFF00
Jika konsol khusus Anda tidak memiliki warna yang tepat ini, Anda dapat menggunakan terdekat yang tersedia (misalnya, kode pelarian ANSI).
Rumah-rumah dibangun dengan n
_
mewakili lantai dan garis atap. Mereka dikelilingi oleh karakter n/2
(bundar) yang |
mewakili dinding. Atap selalu 2
tinggi dan dua /
di tepi kiri, dua \
di tepi kanan, dan n-2
-
mewakili puncak atap. Ketika rumah-rumah semakin besar, ukuran komparatif atap menjadi lebih kecil; ini dimaksudkan.
Ini rumah ukuran 2
:
/\
/__\
|__|
Ini ukurannya 3
:
/-\
/___\
| |
|___|
Ini ukurannya 7
:
/-----\
/_______\
| |
| |
| |
|_______|
Jadi diberi input 7
, output empat rumah ukuran 7
seperti yang dijelaskan di atas, dengan yang pertama berwarna hijau, yang kedua berwarna pink (magenta), yang ketiga berwarna biru, dan yang keempat berwarna kuning. Output warna dalam urutan itu penting.
Contoh gambar ukuran 3
:
Aturan
- Rumah-rumah bisa horisontal atau vertikal selama ada pemisahan yang jelas di antara mereka.
- Leading / trailing newlines atau spasi putih lainnya adalah opsional, asalkan rumah berbaris dengan tepat.
- Program lengkap atau fungsi dapat diterima. Jika suatu fungsi, Anda dapat mengembalikan output daripada mencetaknya.
- Output bisa ke konsol, disimpan sebagai gambar, dll.
- Celah standar dilarang.
- Ini adalah kode-golf sehingga semua aturan golf biasa berlaku, dan kode terpendek (dalam byte) menang.
sumber
90
dan2,5,4,3
disimpulkan adalah gabungan yang efektif.JavaScript (ES6), Chrome / Firefox,
156148151150 byteDisimpan 8 byte berkat @Shaggy
Disimpan 1 byte berkat @Neil
Demo
Pastikan untuk membuka konsol browser Anda untuk mendapatkan hasil berwarna.
Tampilkan cuplikan kode
sumber
0
perlu?#RGB
kode warna CSS yang valid .Excel VBA, 243 Bytes
Fungsi jendela langsung VBE anonim yang mengambil input dari
A1
dan output ke jangkauanA2:A5
Keluaran
sumber
Japt ,
7976747372 byteCobalah (Buka konsol browser Anda sebelum menekan "Run").
Terima kasih kepada ETH untuk membantu saya menguji ini semalam ketika saya sedang mengerjakannya di telepon saya.
Penjelasan
Input bilangan bulat implisit
U
Pertama-tama kita membangun larik 3 warna hex untuk dipetakan. Karakter kode
²
178 adalah3#²
memberi kita 3178. Kami mengonversinya menjadi string basis-2 dengan¤
dan kemudian mengganti semua kemunculan1
denganf
.ò3
membagi string menjadi array string dengan panjang 3 danw
membalikkan array itu.(Saya perlu mencari cara untuk mempersingkat itu, entah bagaimana.)
Kami memetakan di atas array menggunakan
£
- denganX
menjadi elemen saat ini - danOl
log ke konsol. Kami akan memberikan 2 string untuk itu, satu berisi rumah dan satu lagi berisi CSS.String kedua dibangun menggunakan
i
untuk mengawaliX
dengan string terkompresicolor:#
.The
%c
memberitahu konsol untuk menggunakan string kedua sebagai CSS. Baris teratas rumah dibangun dengan mengulangi (ç
)-
karakterU
kali dan kemudian mengirisnya dari elemen kedua (0-diindeks) dengan¤
. Kawat gigi bertindak sebagai jalan pintas, semacam, untuk penggabungan string.Baris kedua dibangun dengan cara yang sama, kali ini mengulangi
_
karakterU
kali .Tubuh rumah dibangun dengan terlebih dahulu mengulangi
|
karakter dua kali dengan²
dan kemudian memasukkan spasi berulangU
kali ke dalam string pada indeks 1. String yang dihasilkan kemudian ditambahkan ke baris baru (R
) dan string itu diulangU/2-0.5
kali.Akhirnya, baris terakhir dibangun dengan cara yang sama seperti yang kedua.
sumber
Python 2 , 120 byte
Cobalah online! (menunjukkan karakter melarikan diri, bukan warna yang sebenarnya, diuji pada terminal lokal)
sumber
n=2
.use the closest available
, meskipun Anda tampaknya menggunakan warna normal, bukan warna-warna cerah. Warna-warna cerah - saya pikir - akan, bagaimanapun, lebih dekat ke warna yang diinginkan.Yabasic , 220 byte
Fungsi anonim yang mengambil input sebagai integer,
n
dan menampilkan 4 rumah berwarna ke terminal.Kurangnya fungsi pengulangan atau penggantian string khusus di yabsic benar-benar menyakiti respons ini.
Versi ini memerlukan mode grafis dan karenanya tidak berfungsi pada TIO.
Keluaran
Nilai input untuk di bawah ini adalah
n=7
.sumber
SmileBASIC, 115 byte
Satu lagi yang juga 115 byte:
Kode warna yang saya butuhkan (dalam 4-bit RGBI) adalah 5, 11, 9, 7. Ini dihasilkan menggunakan
!!J*8-J*2+5
Jika J bukan 0, ini adalah13-J*2
(memberikan 11,9,7), dan jika ya, hasilnya adalah hanya 5.sumber