Ini:
adalah Glider .
Dalam Conway's Game of Life, glider adalah pola terkenal yang dengan cepat melintasi seluruh papan. Untuk tantangan hari ini, kita akan menggambar Game of Life Board seni ASCII, dan menempatkan glider di atasnya.
Papan yang kita mulai dengan ini adalah:
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
Papan ini seluruhnya terdiri dari pipa |
dan garis bawah _
, dan berukuran 10x10. Anda harus menulis sebuah program atau fungsi yang menggunakan dua bilangan bulat, 'x' dan 'y', dan mengeluarkan papan yang sama dengan glider pada koordinat tersebut. Misalnya, jika Anda memiliki glider di posisi (1, 1)
(diindeks 0), Anda harus menampilkan yang berikut:
|_|_|_|_|_|_|_|_|_|_|
|_|_|*|_|_|_|_|_|_|_|
|_|_|_|*|_|_|_|_|_|_|
|_|*|*|*|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
Anda dapat mengasumsikan bahwa glider tidak akan pernah ditempatkan di luar batas, sehingga x dan y akan selalu berada dalam [0-7]
kisaran. Anda juga dapat memilih untuk mengambil koordinat 1-diindeks, tetapi Anda harus menentukan ini dalam jawaban Anda. Dalam hal ini, input akan selalu berada dalam [1-8]
kisaran. Berikut adalah beberapa contoh (semua 0-diindeks):
0, 0:
|_|*|_|_|_|_|_|_|_|_|
|_|_|*|_|_|_|_|_|_|_|
|*|*|*|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
7, 7:
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|*|_|
|_|_|_|_|_|_|_|_|_|*|
|_|_|_|_|_|_|_|*|*|*|
7, 4:
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|*|_|
|_|_|_|_|_|_|_|_|_|*|
|_|_|_|_|_|_|_|*|*|*|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
5, 2:
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|*|_|_|_|
|_|_|_|_|_|_|_|*|_|_|
|_|_|_|_|_|*|*|*|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
Seperti biasa, Anda dapat mengambil IO Anda dalam format apa pun yang masuk akal. Ini termasuk, tetapi tidak terbatas pada string dengan baris baru, array string, array string 2d, atau menulis ke file / STDOUT. Anda juga dapat memilih urutan untuk menerima x dan y .
Karena ini adalah kode-golf , celah standar dilarang, dan buat kode terpendek yang Anda bisa!
the glider is a famous pattern that slowly traverses across the boar.
. Perlahan? Ini adalah objek bergerak diagonal tercepat di GoL. Mencapai 1/4 dari kecepatan cahaya.Jawaban:
MATL ,
353230 byteKode berisi karakter yang tidak diinginkan. Input berbasis 0. Cobalah online!
sumber
V ,
31, 30 byteCobalah online!
Hexdump:
Ini mengambil input sebagai argumen program, dan 1-diindeks.
Penjelasan:
sumber
Jelly ,
3735 byteCobalah online!
Bagaimana itu bekerja
sumber
Python 2 , 151 byte
Akan bermain golf lebih banyak.
Cobalah online!
sumber
[*'|_'*10+'|']
alih-alihlist()
panggilan.Perl 6 , 88 byte
Bilangan kompleks digunakan untuk mewakili koordinat.
^10 »*» i X+ ^10
menghasilkan grid semua bilangan kompleks dengan komponen integer dari nol hingga sembilan.Mengembalikan daftar string, masing-masing memegang satu baris.
sumber
»
harus dilakukan Bagaimana cara disandikan?>>
, tetapi jumlah byte yang sama dengan guillemet, jadi untuk bermain golf, saya lebih suka yang terakhir karena terlihat IMHO yang lebih berkelas. Adapun apa yang dilakukannya, itu mengubah operator yang mengelilinginya menjadi "hyperoperator" yang berlaku berpasangan ke daftar atau nilai-nilai di kedua sisi. Di sini, itu mengalikan setiap elemen dari rentang0-9
dengani
memberi0, i, 2i, ..., 9i
.Haskell , 96 byte
Mengambil dua bilangan bulat (
x
dany
) dan mengembalikan daftarString
s, yaitu daftar tipe 2D[[Char]]
.Test suite:
sumber
Ruby , 87 byte
Cobalah online!
sumber
Mathematica,
115113 bytedimana
Ini mengambil input dalam
{row, col}
format, dan 1-diindeks, tetapi dapat diubah menjadi 0-diindeks tanpa menambahkan byte.Beberapa catatan:
\n
adalah karakter baris baru, membutuhkan 1 byte.
adalah\[Function]
, membutuhkan 3 byte.
adalah\[Transpose]
, membutuhkan 3 byte.Perhatikan bahwa "array of string" diperbolehkan, jadi saya bisa menghapus
Riffle
, memberiMathematica,
9897 bytesumber
Java 8,
165144 bytePenjelasan:
Coba di sini.
sumber
JavaScript (ES6), 99 byte
Mengambil input melalui currying:
f(5)(2)
untuk x = 5, y = 2. Koordinat tidak diindeks.Cuplikan Tes
sumber
SOGL , 23 byte
catatan: input ini diharapkan akan diindeks 1
Penjelasan:
sumber
Python 2 , 133 byte
Cobalah online!
sumber
Arang , 28 byte
Cobalah online! Tautan ke mode verbose untuk deskripsi.
sumber
|_
sebelum\n
untuk menyimpan byte terkompresi. (Saya mencoba beberapa cara berbeda untuk mencetak glider tetapi tidak ada yang menyelamatkan byte.)