Dagaz: Kesalahan

gambar Pekerjaan membantu menenggelamkan orang -
hasil karya orang yang tenggelam.

I. Ilf dan E. Petrov.


Kesalahan adalah kesalahan. Saat mengerjakan proyek ini , saya mempertahankan peringkat kesalahan pribadi saya. Sesuatu diperbaiki dengan sangat mudah, pada awalnya, ada sesuatu yang dipakukan erat pada arsitektur dan karenanya telah meracuni kehidupan selama bertahun-tahun. Beberapa kesalahan hanya membeku. Ketika Anda memperbaikinya, Anda merasa bahwa Anda hidup. Saya suka kesalahan seperti itu.

Menulis game yang sama sepanjang waktu tidak akan menarik. Untungnya, permainannya berbeda. Beberapa permainan lebih berbeda dari yang lain. Jujur, saya melakukan sesuatu untuk mereka, terutama karena keunikan mekanisme permainan mereka. Bagi saya, permainan seperti itu adalah semacam tantangan.


Hanga roa
Game ini memecah stereotip dan memecah pola. Jangan tertipu oleh kemiripan dangkal dengan Catur . Ini benar-benar berbeda dari Catur. Tujuan permainan ini adalah untuk mengarahkan " Moai " Anda ke sisi berlawanan dari papan. Itu hanya, dalam dirinya sendiri, Moai tidak tahu bagaimana berjalan di papan tulis. Gambar ini hanya berjalan "di atas kerikil" (benar-benar warnanya sendiri), bergerak ke satu sel yang berdekatan di salah satu dari delapan arah (batu yang digunakan dikeluarkan dari papan). Langkah-langkahnya bisa diulang selama mungkin.

MataToa (seperti pion di papan) juga bergerak satu langkah di salah satu dari delapan arah dan dapat menghancurkan "jalan" musuh dengan mengambil batu dengan warna orang lain (tentu saja, ia juga bisa bergerak di sepanjang ladang kosong). Kalau tidak, "tangkapan catur" tidak digunakan dalam permainan, potongan-potongan dihapus dari papan dengan cara yang sama sekali berbeda. Untuk mengeluarkan sepotong dari papan, perlu untuk mengelilinginya dengan batu-batu sedemikian rupa sehingga tidak bisa bergerak (jelas bahwa tidak mungkin untuk menangkap MataToa dengan cara ini). Jika Anda berhasil mengelilingi Moai - permainan berakhir di sini. Dengan Ariki , sosok terakhir yang tersisa, segalanya berbeda.

Ariki - sosok pembangun (digambarkan sebagai benteng di papan), yang melemparkan "kerikil" yang sama ke papan. Langkah ini dilakukan sebagai berikut: potongan bergerak jarak di salah satu dari delapan arah (seperti ratu catur, hanya tanpa pertarungan), setelah itu menembakkan dua "tembakan". Batu juga bisa terbang dengan jarak berapa pun, di salah satu dari delapan arah. Jika Anda berhasil melempari musuh Ariki dengan batu, dia dikeluarkan dari papan, tetapi tidak selamanya. Pemain yang menjadi miliknya dapat menempatkannya kembali di papan, dalam salah satu gerakan berikut, tetapi hanya di horizontal pertama. Mungkin inilah mekanika catur paling menakjubkan yang pernah saya lihat.

Ini semua tentang angka-angka "penembakan" yang sangat ini. "Tembakan" itu sendiri dikodekan cukup sederhana, tetapi untuk memiliki kesempatan untuk "menembak" dua kali berturut-turut, saya harus naik ke inti . Faktanya adalah bahwa sejak waktu dengan Zillions , urutan tindakan tersebut telah ditafsirkan sebagai gerakan gabungan, yaitu, urutan gerakan parsial yang dilakukan oleh satu bagian, dan "tembakan", pada kenyataannya, memindahkan bagian yang sama ke posisi lain . Bukan yang dengannya gerakan parsial berikutnya harus dilakukan ("tembakan" kedua). Saya harus mengotak-atik ini.

Karena saya belum menemukan cara menerapkan bot untuk game ini, saya membuatnya dalam mode "smart board", yang mengontrol kepatuhan aturan, tetapi tanpa game AI. Itu memainkan trik pada saya. Kesalahan itu tidak memanifestasikan dirinya sama sekali dalam kontrol manual dari angka-angka, tetapi menjadi jelas segera setelah saya mulai membuat bot untuk Amazon .

Sebenarnya, ada permainan lain dengan mekanisme yang sama

Tapi untuknya, aku juga tidak membuat bot. Saya pikir Anda mengerti mengapa.

Dalam kasus Amazon, saya menemukan solusi dan tidak naik ke inti, tetapi untuk Hanga Roa solusi ini tidak cocok. Karena masih belum ada bot untuk permainan, aku melemparkan benda ini ke dalam kotak panjang (dan itu terus menggigitku dari dalam ke luar). Itu akan terus seperti ini jika, ketika bekerja di Quantum Morris , saya tidak menemukan kekotoran di sini:


Masalahnya diperburuk oleh fakta bahwa kesalahan itu, tampaknya, memanifestasikan dirinya tergantung pada fase-fase bulan. Ini (serta sejumlah kasus lainnya) dengan jelas menunjukkan bahwa sudah waktunya untuk menulis ulang kode animasi untuk bentuk bergerak, dari mana proyek hampir dimulai. Jangan salah paham, saya tidak langsung buru-buru menulis ulang tampilan . Saya meyakinkan diri sendiri bahwa ini perlu, selama sekitar satu bulan. Dan pada akhirnya, yakin . Kode menjadi lebih sederhana dan lebih mudah dimengerti. Sepanjang jalan, kesalahan lain yang menyiksaku untuk waktu yang lama menjadi lebih jelas.


Gambar bisa diklik. Kagumi bagaimana bola hitam, setelah menyelesaikan kursus, berubah menjadi putih (meskipun seharusnya tidak melakukan ini sama sekali). Dengan tampilan lama, tetap hitam dan kesalahannya tidak begitu jelas. Pada tampilan, sosok itu tetap hitam, tetapi pemain tidak bisa lagi mengendalikannya (karena, dalam model, itu putih) dan itu membuat marah. Sebenarnya, ini adalah kesalahan model, tetapi banyak pertanyaan telah terakumulasi untuk itu (serta ke utilitas untuk mengubah kode ZRF menjadi JavaScript).

Demi kebaikan, semuanya harus ditulis ulang di sana, tetapi saya belum siap secara mental untuk ini. Oleh karena itu, saya membuat " perbaikan cepat " lainnya dan di Fanorona , sekarang, Anda dapat bermain secara normal, tanpa disertai mukjizat. Di " Checkers Rusia ", omong-omong. Ada bug terkait dengan penerapan aturan " serangan Turki ", yang secara tak terduga mudah diperbaiki oleh perbaikan sederhana ini . Jadi saya mengerjakan bug. Jadi saya membuat proyek lebih baik.

Source: https://habr.com/ru/post/id440116/


All Articles