Ini hari jumat! Yang berarti saatnya untuk bir!
Sayangnya, hari ini kita akan bermain golf bukan meminumnya. :(
Tantangan
Keluarkan bir dan minum. Jumlah tegukan yang Anda ambil mengubah output Anda.
Menyesap
Program Anda harus mengambil satu string input. String ini hanya dapat terdiri dari sip
s yang digabung .
Jika inputnya berupa string kosong, Anda harus mengeluarkan segelas bir penuh, termasuk busa.
Semakin banyak teguk yang Anda ambil, semakin kosong gelas bir Anda.
Jika Anda minum 0 teguk, bir Anda masih mengandung busa. Output dari busa ini selalu sama (lihat contoh).
Jika Anda minum 1 tegukan, Anda harus mengeluarkan gelas bir, diikuti dengan baris baru dan tali Yuck, foam.
.
Jika Anda minum 1 teguk atau lebih, beerglass Anda seharusnya tidak mengandung busa lagi, tetapi tunjukkan bagian atas gelas Anda. Minum busa dihitung sebagai satu tegukan.
Jika Anda mengambil 6 teguk atau lebih, Anda harus mengeluarkan gelas bir kosong, diikuti dengan baris baru dan tali Burp
.
Untuk setiap tegukan yang Anda minum, gelas bir Anda harus menjadi emptier. Seberapa penuh beerglass Anda tergantung pada jumlah gelembung °
( °
) dalam bir Anda. Untuk setiap tegukan yang Anda minum setelah busa, sederet gelembung harus dilepaskan. Setiap baris bir dapat mengandung minimum 1
dan maksimum 5
gelembung. Posisi gelembung ini harus 100% acak.
Contohnya
memasukkan
empty input string, or no input at all
keluaran
oo o oo
oooooooooooo
o| ° ° |\
| ° | \
| °° ° |} |
| ° ° | /
| ° °|/
\__________/
memasukkan
sip sip sip
keluaran
____________
| |\
| | \
| ° |} |
|° ° ° | /
| ° ° |/
\__________/
memasukkan
sip sip sip sip sip sip sip sip sip sip
keluaran
____________
| |\
| | \
| |} |
| | /
| |/
\__________/
Burp
Pastebin ini berisi daftar input dan output. Ingatlah bahwa gelembung di beerglass harus acak!
Mencetak gol
Ini adalah kode-golf , kode terpendek dalam byte yang menang!
Selamat minum golf!
°
adalah karakter dengan kode titik 176.Jawaban:
Japt , 189 byte
Saya hampir menjadi gila ketika mencoba untuk membuat ini berfungsi dengan baik ...
Cobalah online!
(Catatan: Program ini dibuat untuk versi Japt yang lebih lama, dan saat ini tidak berfungsi di versi terbaru. Untuk menyiasatinya, versi yang lebih lama ditentukan dalam URL. Sayangnya, ini juga berarti kotak kode kanan atas tidak berfungsi.)
Sejauh ini, ini adalah program terpanjang yang pernah saya tulis dalam Japt. Berikut ini rinciannya:
Langkah 1: Buat bagian atas cangkir bir.
Jika U adalah string kosong, ini membuat:
Kalau tidak, ini membuat:
Langkah 2: Buat baris tengah cangkir.
Ini menghasilkan string sebelumnya ditambah:
Langkah 3: Tambahkan gelembung.
Pada titik ini, mug terlihat seperti ini:
Langkah 4: Tambahkan baris terakhir dan teks opsional.
Sekarang semuanya siap untuk dikirim ke keluaran, yang dilakukan secara otomatis. Jika Anda memiliki pertanyaan, jangan ragu untuk bertanya!
sumber
JavaScript (ES6),
283281 bytePenjelasan
Uji
sumber
PHP,
277265263 byteDengan asumsi 1-byte-linebreak. Tambahkan satu ke
14
dan17
di Windows.Jalankan dengan
-r
. jeda baris mungkin perlu keluar.kerusakan
sumber