Mertua saya memiliki kolam ikan di halaman mereka, penuh dengan koi. Itu tidak benar-benar terlintas di benak saya sampai saya perhatikan ekstrak berikut dari kode saya.
',') & '_'
... Aku punya wajah ikan yang menatapku dari layar ...
Yang telah memberi saya ide bagus ...
Pencarian saya untuk Anda, pegolf tersayang saya adalah membuat akuarium ASCII satu baris, dengan aturan berikut:
- Ukuran akuarium dari sisi tangki ke sisi lain tangki tidak boleh lebih kecil dari 60 karakter dan tidak lebih besar dari 80 karakter. Sisi tangki perlu diindikasikan menggunakan karakter pipa / bar (
|
). - Ikan harus bisa "berenang" dari kiri ke kanan di antara sisi-sisi tangki. Saat mereka berputar, tampilan depan diperlukan untuk transisi dari satu arah ke arah lainnya.
Ikan harus terlihat seperti berikut:
}}< }} ',')
Ikan berenang dengan benar(',' {{ >{{
Ikan berenang ke kiri}}('_'){{
Ikan menghadap ke depan
Ketika seekor ikan berubah untuk mengubah arah (peluang 30%), ia harus mulai dari satu arah, menghadap ke depan, lalu menghadap ke arah yang lain ... Pastikan ada ruang yang cukup untuk ikan berbalik, yaitu membutuhkan enam ruang sebelum tepi minimum tangki ...
- Kecuali jika seekor ikan meniupkan gelembung atau mengubah arah, ia akan melanjutkan ke arah yang dihadapinya, jika ia berada dalam enam ruang di sisi tangki, ia akan mengubah arah.
- Ikan (menghadap ke kiri atau kanan) kadang-kadang (10% kemungkinan) berhenti untuk meniup gelembung berturut-turut (
.oO*
), sehingga ikan harus memiliki ruang yang tersedia di sebelahnya agar gelembung ada, sehingga ikan dapat hanya berenang sedekat mungkin dengan sisi, menghemat satu ruang. Gelembung harus menghilang sebelum ikan dapat bergerak ...
Serangkaian contoh garis perilaku ikan, dengan -
karakter yang menunjukkan spasi, karena fitur tampilan kode di sini sedikit ketat ... Saya akan berharap tanda hubung ini diganti dengan spasi ketika Anda mengkodekan ini ...
Setiap baris di sini dapat dianggap sebagai kerangka waktu.
|-}}< }} ',')----------|
|--}}< }} ',')---------|
|---}}< }} ',')--------|
|----}}< }} ',')-------|
|-----}}< }} ',')------|
|-----}}< }} ',').-----|
|-----}}< }} ',')o-----|
|-----}}< }} ',')O-----|
|-----}}< }} ',')*-----|
|---------}}('_'){{----|
|-----------(',' {{ >{{|
|----------(',' {{ >{{-|
|---------(',' {{ >{{--|
|--------.(',' {{ >{{--|
|--------o(',' {{ >{{--|
|--------O(',' {{ >{{--|
|--------*(',' {{ >{{--|
|--------(',' {{ >{{---|
|-------(',' {{ >{{----|
|------(',' {{ >{{-----|
dll. Contoh di atas adalah, seperti yang saya katakan, kecil, tetapi Anda mendapatkan ide umum ...
Kode terpendek menang ...
Saya mengharapkan output pada baris yang sama (jika mungkin), jika tidak, menampilkan bingkai demi bingkai berturut-turut adalah baik-baik saja ... Apakah Anda pergi satu baris atau beberapa baris terserah Anda. Jika Anda melakukan banyak baris, mereka harus dipisahkan oleh baris baru.
Juga timer dikenakan antara frame, 2000 ms. Ini wajib .
Ayo lihat apa yang kamu punya!