Terinspirasi oleh tantangan ini
Tujuan:
Tujuannya adalah untuk menggambar ombak menabrak pantai.
Memasukkan:
Anda akan diberikan 3 bilangan bulat (dalam format apa pun yang Anda inginkan) sebagai input.
Bilangan bulat pertama akan menjadi panjang gambar Bilangan bulat kedua akan menjadi indeks dari sandbar, di mana ombak mulai memuncak (setidaknya 3 spasi dari pantai)
Bilangan bulat ketiga akan menjadi jarak antar gelombang (setidaknya 3, dapat lebih besar dari panjang gambar, dalam hal ini Anda hanya menggambar satu gelombang)
Keluaran:
Outputnya akan berupa kotak karakter yang menunjukkan ombak menabrak pantai. Gambar harus berakhir ketika gelombang pertama selesai menabrak pantai.
Pada awalnya, gelombang ditampilkan sebagai gelombang besar ( _-_
).
Saat gelombang melewati bilah pasir, ia mulai crest ( /c_
).
Akhirnya, ombak menabrak pantai ( /c.
=> _-_
=> ___
=> __.
).
Contoh:
Input: 14 4 6
Keluaran:
-___________..
_-__________..
__-_________..
___-________..
___/c_______..
____/c______..
-____/c_____..
_-____/c____..
__-____/c___..
___-____/c__..
___/c____/c_..
____/c____/c..
-____/c____-_.
_-____/c_____.
__-____/c___..
Input: 10, 2, 11
Keluaran:
-_______..
_-______..
_/c_____..
__/c____..
___/c___..
____/c__..
_____/c_..
______/c..
_______-_.
_________.
________..
Input: 6 0 3
c___..
/c__..
_/c_..
c_/c..
/c_-_.
_/c__.
c_/c..
Aturan:
Berlaku celah standar
Ini kode-golf sehingga kode terpendek menang
·
bukan ASCII, yang mungkin mengecualikan beberapa bahasa. Bisakah itu diganti.
?·
sebagai ganti periode ASCII? (Ini sebenarnya kemenangan besar dalam kode saya.)Jawaban:
JavaScript (ES6),
250243 byteKode ini mengasumsikan kode halaman # 1252 dan menggunakan
·
karakter (0xB7). Mengambil input sebagai 3 parameter berbeda(a,b,c)
.Bagaimana itu bekerja
Kode ini dimulai dengan string seperti
-______··
dan menerapkan ekspresi reguler berturut-turut pada setiap iterasi untuk menghidupkan gelombang.Misalnya
-__
diganti dengan_-_
.Pada awalnya, itu tampak seperti ide yang masuk akal. Namun, fakta bahwa string dapat dimulai dengan
c
(seperti yang terjadi pada test case ke-3) membuat hal-hal secara signifikan lebih rumit.Uji kasus
Tampilkan cuplikan kode
sumber
Batch,
273243 byteCatatan: Trailing space on line 4. Jika hanya dua karakter pantai yang berbeda, saya bisa menghemat 3 byte dan benar-benar mengalahkan JavaScript!
sumber