Miklix

Penjana Memburu dan Membunuh Maze

Diterbitkan: 19 Mac 2025 pada 8:44:25 PTG UTC

Penjana labirin menggunakan algoritma Hunt dan Bunuh untuk mencipta labirin yang sempurna. Algoritma ini serupa dengan Recursive Backtracker, tetapi cenderung menghasilkan maze dengan koridor berliku yang agak kurang panjang.

Halaman ini telah diterjemahkan mesin daripada bahasa Inggeris untuk menjadikannya boleh diakses oleh seramai mungkin orang. Malangnya, terjemahan mesin belum lagi merupakan teknologi yang sempurna, jadi ralat boleh berlaku. Jika anda mahu, anda boleh melihat versi bahasa Inggeris asal di sini:

Hunt and Kill Maze Generator

Algoritma Hunt dan Kill sebenarnya merupakan versi pengubahsuaian Recursive Backtracker. Pengubahsuaian terdiri daripada mengimbas secara sistematik (atau "memburu") untuk meneruskan sel baharu daripada apabila ia tidak dapat pergi lebih jauh, berbanding carian rekursif sebenar, yang akan sentiasa kembali ke sel sebelumnya pada timbunan.

Oleh sebab itu, algoritma ini boleh disesuaikan dengan mudah untuk menghasilkan labirin dengan rupa dan rasa yang berbeza, hanya dengan memilih untuk memasuki mod "memburu" dengan lebih kerap atau mengikut peraturan tertentu. Versi yang dilaksanakan di sini hanya memasuki mod "memburu" apabila ia tidak dapat pergi lebih jauh dari sel semasa.

Labirin yang sempurna ialah labirin di mana terdapat betul-betul satu laluan dari mana-mana titik dalam mez ke mana-mana titik lain. Ini bermakna anda tidak boleh mengelilingi dalam bulatan, tetapi anda sering menemui jalan buntu, memaksa anda untuk berpusing dan kembali.

Peta maze yang dijana di sini termasuk versi lalai tanpa sebarang kedudukan mula dan penamat, jadi anda boleh memutuskannya sendiri: akan ada penyelesaian dari mana-mana titik dalam maze ke mana-mana titik lain. Jika anda mahukan inspirasi, anda boleh mendayakan kedudukan permulaan dan penamat yang dicadangkan - malah melihat penyelesaian antara kedua-duanya.


Hasilkan labirin baharu








Tentang Algoritma Hunt and Kill

Algoritma Hunt and Kill adalah kaedah yang mudah tetapi berkesan untuk menghasilkan labirin. Ia agak serupa dengan pencarian pertama kedalaman (iaitu algoritma Recursive Backtracker), kecuali apabila ia tidak dapat bergerak lebih jauh dari kedudukan semasa, ia secara sistematik mengimbas (atau "memburu") melalui labirin untuk mencari sel baru untuk diteruskan. Algoritma ini terdiri daripada dua fasa utama: berjalan dan memburu.

Bagaimana Algoritma Hunt and Kill Berfungsi untuk Penjanaan Labirin

Langkah 1: Mula di sel rawak

  • Cari sel rawak dalam grid dan tandakan ia sebagai telah dilawati.

Langkah 2: Fasa Berjalan (Perjalanan Rawak)

  • Pilih jiran yang tidak dilawati secara rawak.
  • Bergerak ke jiran tersebut, tandakan ia sebagai telah dilawati, dan ukir jalan antara sel sebelumnya dan sel baru.
  • Ulangi sehingga tiada jiran yang belum dilawati yang tinggal.

Langkah 3: Fasa Memburu (Mundur melalui Pengimbasan)

  • Imbas grid baris demi baris (atau lajur demi lajur).
  • Cari sel yang belum dilawati yang mempunyai sekurang-kurangnya satu jiran yang telah dilawati.
  • Sambungkan sel tersebut ke jiran yang telah dilawati untuk menyambung semula fasa berjalan.
  • Ulangi sehingga semua sel telah dilawati.
Kongsi di BlueskyKongsi di FacebookKongsi di LinkedInKongsi di TumblrKongsi di XKongsi di LinkedInSematkan pada Pinterest

Mikkel Christensen

Mengenai Pengarang

Mikkel Christensen
Mikkel ialah pencipta dan pemilik miklix.com. Beliau mempunyai lebih 20 tahun pengalaman sebagai pengaturcara komputer/pembangun perisian profesional dan kini bekerja sepenuh masa untuk sebuah syarikat IT Eropah yang besar. Apabila tidak menulis blog, dia menghabiskan masa lapangnya dengan pelbagai minat, hobi dan aktiviti, yang mungkin sedikit sebanyak dapat dilihat dalam pelbagai topik yang diliputi di laman web ini.