Dalam bentuk permainan Tic-Tac-Chec ini, tujuannya adalah untuk memindahkan bidak catur menjadi empat berturut-turut. Tujuan Anda di sini adalah untuk mengetahui apakah suatu posisi memiliki langkah kemenangan.
Aturan
Aturannya mirip, tetapi tidak identik, dengan aturan Tic-Tac-Chec.
Papan adalah 4 dengan 4 kotak. Setiap pemain memiliki benteng, uskup, ksatria, dan ratu. Pada gilirannya, Anda memiliki dua opsi. Anda dapat memindahkan salah satu karya Anda di papan, mengikuti aturan catur standar. Atau Anda dapat menempatkan potongan yang belum ada di papan tulis, di tempat kosong mana pun.
Jika Anda memindahkan bagian yang ada ke bagian lawan, bagian mereka diambil dari papan dan dikembalikan ke mereka. Namun, Anda tidak boleh menempatkan keping baru di atas kepingan lawan.
Segera setelah satu pemain memiliki semua bagian mereka dalam satu baris (atau kolom, atau diagonal), mereka menang.
Tantangan
Tulis program lengkap yang menerima papan dari STDIN, dan berikan output apakah pemain putih bisa menang pada giliran berikutnya.
Memasukkan
Empat string masing-masing 4 karakter. Setiap karakter adalah spasi atau bidak catur. Hanya benteng, uskup, ksatria, dan ratu yang digunakan, dan paling banyak satu dari masing-masing (per warna) dapat muncul. Tidak ada pemain yang memiliki empat-dalam-baris.
Anda dapat memilih apakah akan menerima sebagai input simbol Unicode untuk bidak catur, atau huruf. Jika Anda memilih huruf, RBKQ
mewakili potongan putih, dan rbkq
mewakili potongan hitam.
Keluaran
Jika pemain putih dapat menang pada giliran berikutnya, keluaran true
atau 1
. Kalau tidak, output false
atau 0
.
Program
Pilih angka X. Program Anda mungkin berisi paling banyak X karakter yang berbeda, dan tidak ada karakter yang muncul lebih dari X kali.
Kemenangan
X menang terendah. Dalam kasus seri, karakter paling sedikit menang.
Contohnya
Contoh-contoh ini menganggap input menggunakan huruf untuk mewakili potongan.
rkb
RB Q
true - the white player can place the knight to complete the bottom row.
-----------------------------------
rk
RBbQ
false - the black bishop prevents the white knight from completing the row.
-----------------------------------
rk
K
RBbQ
true - the white knight can capture the black bishop and complete the row.
-----------------------------------
rkRB
Qb
K
true - the white rook can move down one to complete the diagonal.