Algoritma apa yang telah Anda gunakan di masa lalu untuk menghasilkan labirin 2d sederhana?
algorithm
procedural-generation
Jdeseno
sumber
sumber
Saya lebih suka labirin luka ketat yang diciptakan Algoritma Kruskal.
Deskripsi standar Algoritma Kruskal tidak sesuai karena gagal membedakan lokasi dalam grafik dari grup lokasi, sementara mengandalkan permainan kata-kata tentang pilihan struktur data, yang mengarah ke ambiguitas deskripsi yang membingungkan para pemula. Karena itu saya menolak termonologi Kruskal.
Saya akan menggunakan ketentuan berikut:
Dan dari itu, kita mendapatkan:
sumber
Wikipedia memiliki sumber daya yang hebat tentang pembuatan labirin . Saya telah menggunakan algoritma prims acak dengan hasil yang bagus. Algoritma pembagian terlihat menarik tetapi saya belum pernah menggunakannya.
Berikut adalah contoh wikipedia tentang prim di tempat kerja.
sumber
Salah satu cara mudah adalah dengan membuat daftar tembok utara dan dinding barat, lalu ubah menjadi mereka. Berikan nomor masing-masing kamar. Kemudian meledakkan salah satu dinding dalam daftar, selama kedua kamar tidak memiliki nomor yang sama, kemudian menyebar salah satu nomor ke semua kamar lain dengan nomor yang sama. Terus sampai Anda kehabisan dinding. Ini berfungsi untuk labirin persegi panjang atau, sungguh, labirin lainnya di mana Anda dapat memberikan daftar "kamar yang berpotensi terhubung". Plus, ini cukup mudah untuk diprogram.
sumber
Saya juga akan melihat beberapa algoritma yang digunakan dalam pengembangan Roguelike. Ada sumber daya awal yang baik di Rogue Basin
sumber
Ada run-olah yang baik di sini: https://journal.stuffwithstuff.com/2014/12/21/rooms-and-mazes/
Langkah-langkah dasarnya adalah:
Kode di sini: https://github.com/munificent/hauberk/blob/db360d9efa714efb6d937c31953ef849c7394a39/lib/src/content/dungeon.dart
sumber
Anda bertanya yang mana yang saya gunakan, jadi saya akan memastikan untuk menjawabnya. Saya menggunakan Algoritma Backtracker Rekursif dalam permainan labirin saya di Rootbeer Games .
Ini bukti bahwa saya menggunakan algoritma, tolong jangan melihatnya sebagai iklan dari pekerjaan saya.
sumber