Penjana Labirin

Alat ini membina labirin dengan carian depth-first yang dikenali sebagai recursive backtracking. Setiap petak bersambung dengan petak lain melalui tepat satu laluan, jadi hanya ada satu jalan dari pintu masuk di kiri atas ke pintu keluar di kanan bawah.

Adakah masalah anda selesai?
Pilih kami di Google

Cara guna

  1. Pilih saiz, daripada 10 x 10 untuk kanak-kanak kecil hingga 40 x 40 untuk cabaran panjang, kemudian tekan Labirin baharu.
  2. Tekan Tunjuk laluan jawapan untuk melihat laluan dari pintu masuk di kiri atas ke pintu keluar di kanan bawah. Tekan sekali lagi untuk menyembunyikannya.
  3. Tekan Cetak untuk mencetak labirin sahaja. Hidupkan laluan jawapan dahulu jika mahu helaian jawapan.
  4. Setiap labirin ada nombor. Taip nombor dan saiz yang sama kemudian, atau kongsi pautannya, untuk mendapat labirin yang sama persis.

Cara kiraan

Labirin dikorek dengan recursive backtracking, sejenis carian depth-first. Ia bermula di petak rawak dengan semua dinding tertutup, lalu berulang kali bergerak ke jiran rawak yang belum dilawati sambil meruntuhkan dinding di antaranya. Apabila tiba di petak tanpa jiran yang belum dilawati, ia berundur di sepanjang laluannya sehingga menemui petak yang masih ada.

Oleh sebab setiap petak dilawati sekali dan setiap langkah membuka tepat satu dinding, hasilnya labirin sempurna: semua petak bersambung dan tiada gelung, jadi ada tepat (bilangan petak - 1) laluan dan satu jalan antara mana-mana dua petak. Kaedah ini cenderung menghasilkan lorong panjang berliku dengan sedikit cabang.

Jawapan dicari dengan carian breadth-first dari pintu masuk yang memberi laluan terpendek. Oleh sebab labirin sempurna hanya ada satu laluan, laluan itulah jawapannya.

Nombor labirin ialah benih (seed) bagi penjana nombor rawak pseudo. Benih dan saiz yang sama sentiasa menghasilkan labirin yang sama, jadi anda boleh berkongsi labirin dengan memberi nombornya.

Saiz labirin

SaizBilangan petakSesuai untuk
10 x 10100Kanak-kanak prasekolah
15 x 15225Murid tahap satu
20 x 20400Teka-teki santai
30 x 30900Remaja dan dewasa
40 x 401,600Cabaran panjang, paling baik dicetak satu halaman penuh

Soalan lazim

Adakah setiap labirin ada jalan keluar?

Ya. Semua petak bersambung, dan pintu masuk di kiri atas serta pintu keluar di kanan bawah kedua-duanya terbuka. Ada tepat satu laluan antara keduanya.

Saiz mana sesuai untuk kanak-kanak?

10 x 10 sesuai untuk kanak-kanak prasekolah. 15 x 15 dan 20 x 20 baik untuk murid sekolah rendah, manakala 30 x 30 dan 40 x 40 untuk cabaran sebenar. Cetak saiz besar pada satu halaman penuh.

Bolehkah saya dapat labirin yang sama lagi?

Boleh. Simpan nombor dan saiz labirin, atau guna pautan kongsi. Nombor dan saiz yang sama sentiasa memberi labirin yang sama.

Kenapa laluannya panjang dan berliku?

Recursive backtracking pergi sedalam mungkin sebelum berpatah balik, jadi lorongnya lebih panjang dan jalan mati pendek lebih sedikit berbanding kaedah lain.

Adakah apa-apa dimuat naik?

Tidak. Labirin dijana dan dilukis dalam pelayar anda.