Seperti yang kami pelajari dari IBM PC AT, YouTube (lihat video) , Wikipedia (lihat artikel) , dan Sesame Street:
Surat itu H
adalah huruf alfabet yang paling tanpa ampun !
(Bahkan ketika sebenarnya terdiri dari dua elemen dalam Kode Page 437. Faktanya, bahkan LEBIH BAIK tanpa ampun.)
Seperti Alien di, uhm ... eh ... Alien , Beasts tanpa henti mengejar semua yang berani mendekati telur mereka. Tidak ada alasan untuk itu. Anda harus menekan mereka jika tidak binasa.
Untuk skenario ini, kami akan menganggap Anda hidup sampai akhir, dan Anda telah bertemu Beasts polos di medan tanpa telur (seperti pada tangkapan layar Wikipedia). Anda tidak memiliki tombol angka dan hanya dapat bergerak langsung ke atas / bawah / kiri / kanan ... tetapi binatang buas itu memiliki satu, dan dapat bergerak secara diagonal pada gilirannya.
Pilihan bergerak Beast di antara opsinya adalah yang meminimalkan jarak dari pemain. Jika jaraknya sama maka tie breaking dilakukan dengan mengunggulkan + kiri atas + kanan ke bawah, tapi inilah matriks disambiguasi untuk menjadi eksplisit tentang hal itu ... angka terendah untuk tie-break:
1 3 4
2 H 5
6 8 7
Seekor binatang buas tidak pernah tidur, tapi untungnya mereka sedikit lebih lambat dari pemain. Mereka menggerakkan setiap belokan lainnya (memberi pemain start pertama dengan memulai pergantian mereka pada belokan kedua). Mereka harus bergerak jika mungkin, terlepas dari apakah itu membawa mereka lebih jauh dari pemain.
Anda menghancurkan binatang buas jika Anda memindahkan kereta dinding bergerak di mana ia duduk di celah tertutup. Binatang buas polos ini bernilai 2 poin per kepala.
Memasukkan
Sepasang bilangan bulat yang menunjukkan ukuran peta dalam kolom lalu baris.
Hitungan jumlah baris input, masing-masing ukuran kolom ... berisi dinding padat (
#
), dinding bergerak (~
), binatang (H
), pemain (O
), atau hanya spasi.Input yang akan berupa U, D, L, R menunjukkan upaya yang dicoba oleh pemain ... atau W untuk hanya menunggu. Perhatikan bahwa berusaha mendorong dinding bergerak yang diblokir adalah input legal, itu hanya akan menghasilkan tindakan.
Keluaran
aHHHH!
jika binatang buas membunuh pemain ... atau tidak ada jika pemain menang tanpa binatang buas yang tersisaNilai
(Catatan: Untuk tujuan debug dan / atau hiburan, Anda mungkin ingin dapat menampilkan status pada setiap langkah; tapi itu terlalu lama untuk dikirim di sini.)
Klarifikasi
Peta dijamin akan dibatasi oleh dinding yang kokoh.
Urutan siapa yang bergerak pada gilirannya penting bagi hasil. Dengan demikian: Pemain selalu pergi dulu, maka binatang diberi urutan berdasarkan posisi peta awal mereka jika Anda menyapu layar atas ke bawah kiri ke kanan. (Satu baris 1 binatang bergerak di depan satu baris 2 binatang, dan dua binatang pada baris yang sama itu akan menjadi satu dengan nomor kolom terendah yang akan bergerak sebelum yang lain)
Binatang-binatang yang bergerak diagonal dapat bergerak ke ruang diagonal terbuka yang berdekatan, terlepas dari apakah itu memerlukan peras di antara dinding.
Seorang pemain dapat mendorong sejumlah dinding bergerak dalam satu garis asalkan ada ruang atau binatang di ujung lainnya. Tetapi mencoba untuk mendorong kereta dinding ke Beast yang tidak disematkan di antara dinding memperlakukan Beast sebagai dinding, dan tidak akan membiarkan bergerak.
Keputusan kepindahan Beast selama belokan didasarkan pada lokasi pemain di awal belokan. Optimalisasi yang diinginkan dari "jarak ke pemain" adalah melalui perhitungan "saat gagak terbang". Setiap perkiraan yang akan memberikan hasil yang sama seperti yang diukur dari pusat kotak ke pusat kotak pemain baik-baik saja.
Jika Beast tidak dapat membuat apa yang akan menjadi langkah pertama yang dipilihnya pada gilirannya karena Beast prioritas yang lebih tinggi mengambil tempatnya, ia akan mengambil pilihan terbaik berikutnya daripada bertahan di tempat (jika langkah masih mungkin).
Contoh Kasus
Hancurkan sederhana
Memasukkan
5 3
#####
#O~H#
#####
R
Keluaran
2
Matriks Preferensi -> Kematian
Memasukkan
5 5
#####
#O #
# ~ #
# H#
#####
WWDW
Keluaran
aHHHH!
0
Matriks Preferensi -> Menang
Memasukkan
5 5
#####
#O #
# ~ #
# H#
#####
WRD
Keluaran
2
Menunggu Penuai
Memasukkan
5 5
#####
#O #
# ~ #
# H#
#####
WWW
Keluaran
aHHHH!
0
Kekalahan yang Berhasil dalam Skenario Wikipedia
Memasukkan
40 23
########################################
#~ ~ ~~ ~ ~ ~~ ~ ~~ ~ ~ ~~ #
#~~ ~ ~~ ~ ~ ~~ ~ #
#~# ~~ ~~~~ ~ ~~~~ ~ ~~~ ~#
# ~ ~ ~ ~~ #~~ ~ #
#~~ ~~~ ~ ~ ~ ~ ~~ ~ ~ ~ ~ #
# ~~ ~ ~ ~ ~~~ H ~ #~ #
# O~ ~ # ~~~ ~ ~ ~~ ~ ~ ~~ #
# ~ ~H~~ ~~ ~ # ~~ ~ #
# ~~ ~ ~~~ ~~ ~~~~ ~ ~#
#~ ~ ~~~ ~ ~ ~ ~ ~~ ~~#
# ~ # ~ ~~ ~~~ ~ ~ ~ # ~#
#~ ~ ~~ ~ ~ H ~~ ~~ ~ ~ ~~~ #
# ~ ~ ~ ~ ~ ~~~ ~ #
# ~~ ~ ~ ~~ ~ ~ ~ ~ ~ #
# ~~ ~ ~ ~ ~ ~~ #
#~ ~ # ~~~~ ~ ~~~H # ~ #
# ~ ~ ~ ~ ~ ~~ ~ #
# ~ ~ #~ ~ ~~ ~ ~ ~#
# ~~ ~ ~ ~~ ~ ~ #
# ~~~ ~ ~~ ~ ~ ~ ~ #
# ~ ~ ~ ~~ ~ ~ ~ #
########################################
RRRUWWWRRRURWWWWRDRRWWRDWWWWD
Keluaran
8
Peta disediakan oleh saya, bergerak dan keluaran oleh @bobbel, dikuatkan oleh saya sendiri dan @Allbeert.
Kriteria Menang
Saya pikir ini golf, jadi saya akan pergi dengan aturan kode golf kecuali orang mengeluh.
Kredit tambahan
Implementasi Unicode yang dapat dimainkan dengan karakter double-lebar menyerupai gambar!