图片
Mari kita ambil kesimpulan dulu: Game ini pada dasarnya adalah varian dari Jalan Huarong dengan bobot panjang. Inti dari solusi optimal adalah dengan menggunakan jumlah langkah terpendek untuk membuka saluran agar skylark dapat lewat dalam garis lurus, daripada menyusun semua balok kayu dengan rapi. Saya menghabiskan sore hari menguji 30 level pertama, membongkar logika numerik, dan membaginya dengan teman-teman yang ingin mencapai tiga bintang.
Pertama, perjelas mekanisme tersembunyinya: panjang setiap balok kayu menentukan "arah efektif" pergerakannya. Sebuah balok kayu dengan panjang 2 hanya dapat meluncur sepanjang sumbu panjangnya, begitu pula balok dengan panjang 3, tetapi balok dengan panjang 1 (seperti pohon skylark itu sendiri) dapat bergerak kesamping atau vertikal. Artinya, kombinasi rintangan di setiap level pada dasarnya adalah matriks batasan - semakin panjang balok kayu, semakin rendah derajat kebebasan pengoperasiannya, namun balok kayu yang panjang juga merupakan kunci untuk menciptakan celah yang besar.
Saya mengambil satu set sampel data dari catatan level, mengambil level 7 sebagai contoh: koordinat awal Skylark adalah (2,3), pintu keluar di (4,3), ada dua batang kayu horizontal dengan panjang 3 dan batang kayu vertikal dengan panjang 2 di tengahnya. Jumlah langkah minimum teoretis yang menggunakan BFS (Breadth First Search) adalah 12 langkah, tetapi sebagian besar pemula akan mencapai lebih dari 18 langkah. Pasalnya, mereka memindahkan potongan kayu pendek tersebut terlebih dahulu, mencoba menyesuaikan diri pada area yang kecil, dan akhirnya tersangkut.
Strategi optimal dibagi menjadi tiga langkah:
Langkah pertama adalah mengidentifikasi “blok kemacetan”. Itu bagian tepat di depan jalur keluar Skylark. Terlepas dari panjangnya, lihat dulu apakah bisa dipindahkan secara vertikal atau horizontal. Jika potongan tersebut berupa batang mendatar dengan panjang 3, dan terdapat ruang kosong di sebelahnya, maka Anda hanya perlu mendorongnya dalam satu langkah, dan pohon skylark dapat terus bergerak maju.
Langkah kedua adalah menghitung “biaya perpindahan”. Memindahkan setiap balok kayu satu ruang dihitung sebagai satu langkah, namun perhatikan: setelah memindahkan balok kayu yang panjang, mungkin tersisa dua atau bahkan tiga ruang berturut-turut, yang lebih hemat biaya daripada memindahkan dua balok kayu pendek. Misalnya, jika sebuah balok kayu dengan panjang 3 digeser 1 kotak ke kanan, maka 3 kotak ruang terbuka akan terkosongkan, yang setara dengan menukar 1 anak tangga dengan 3 kotak kanan jalan; saat memindahkan balok dengan panjang 1 hanya dapat menyelesaikan 1 kotak, dan efisiensi langkahnya adalah 1:1. Oleh karena itu, pindahkan balok kayu yang panjang terlebih dahulu, meskipun memakan waktu yang lama, itu sepadan.
Langkah ketiga adalah merencanakan “pohon jalur terpendek”. Faktanya, ukuran papan setiap level game ini berkisar 6x6. Gunakan pena untuk menggambar balok kayu dan ruang kosong di kertas, dan Anda dapat menyimpulkannya secara manual. Kebiasaan saya adalah menyortir semua balok kayu berdasarkan panjangnya terlebih dahulu, lalu bekerja mundur dari pintu keluar - dengan asumsi skylark telah mencapai ruang sebelum pintu keluar, satu-satunya balok kayu pemblokiran di depannya harus dipindahkan beberapa langkah. Jumlah langkah mundur ditambah jumlah langkah maju ke depan merupakan batas bawah teoritis. Kesalahan pengukuran sebenarnya tidak akan melebihi 2 langkah.
Terakhir, mari kita bahas kesalahpahaman umum: jangan memaksakan balok kayu ke sudut hanya agar terlihat lebih baik. Dalam banyak desain tingkat, sudut adalah jalan buntu, dan jika Anda memasukkan balok kayu panjang ke dalamnya, Anda tidak akan pernah bisa mengeluarkannya lagi. Cara yang benar untuk melakukannya adalah dengan menjaga potongan kayu panjang tersebut pada jalur paralel di sisi dekat pintu keluar, sehingga dapat membersihkan seluruh jalur dalam satu gerakan.
Selain itu, ada detail yang tidak disebutkan secara resmi tetapi valid dalam pengukuran sebenarnya: skylark itu sendiri juga dianggap sebagai balok dengan panjang 1. Ia dapat mengambil langkah berlawanan arah untuk memberi ruang bagi balok kayu panjang di belakangnya. Misalnya, di level 15, pertama-tama Anda meminta Skylark untuk memindahkan satu ruang ke kiri, lalu batang kayu vertikal dengan panjang 3 dapat meluncur ke atas dua ruang, langsung membersihkan jalan keluar, dan jumlah langkah dikurangi dari 21 menjadi 14.
Jika Anda ingin mendapatkan peringkat bintang tiga (jumlah langkah di bawah ambang batas tertentu), disarankan untuk melakukan tiga langkah secara manual di setiap level sebelum melakukan gerakan. Jangan terburu-buru. Game ini kelihatannya mudah, tetapi desain numeriknya sangat ketat. Ukuran setiap balok kayu terjebak di tepi solusi optimal - satu langkah lagi akan kehilangan satu bintang.
Setelah Anda mahir, Anda dapat melihat dengan mata telanjang di mana "langkah mubazir" berada di setiap level, dan perasaan senangnya tidak kalah dengan melaju melalui pertarungan bos. Jika Anda tidak memahami suatu level, Anda dapat memposting gambar di area komentar dan saya akan membantu Anda menghitung urutan solusi optimal.