Generator Labirin Algoritma Eller
Diterbitkeun: 16 Pébruari 2025 jam 20.39.07 UTC
Maze generator ngagunakeun algoritma Eller pikeun nyieun Maze sampurna. Algoritma ieu metot sabab ngan merlukeun ngajaga baris ayeuna (sanes sakabéh Maze) dina mémori, ku kituna bisa dipaké pikeun nyieun mazes pisan, kacida gedéna sanajan dina sistem pohara kawates.Eller's Algorithm Maze Generator
Algoritma Eller mangrupakeun algoritma generasi Maze nu éfisién ngahasilkeun mazes sampurna (mazes kalawan euweuh loop sarta jalur tunggal antara sagala dua titik) ngagunakeun pendekatan baris-demi-baris. Ieu ngahasilkeun mazes sarupa algoritma Kruskal urang, tapi ngalakukeun kitu ku ngahasilkeun ngan hiji baris dina hiji waktu, tanpa kudu nyimpen sakabéh Maze dina mémori. Nu ngajadikeun eta mangpaat pikeun ngahasilkeun mazes kacida gedéna dina sistem pohara kawates jeung generasi eusi prosedural.
Maze sampurna nyaéta Maze dimana aya persis hiji jalur ti titik mana waé dina Maze ka titik séjén. Éta hartina anjeun moal bisa mungkas nepi ka sabudeureun dina bunderan, tapi anjeun bakal mindeng sapatemon dead ends, forcing anjeun ngahurungkeun sabudeureun tur balik.
Peta Maze anu dihasilkeun di dieu kalebet versi standar tanpa posisi awal sareng akhir, ku kituna anjeun tiasa mutuskeun pikeun diri anjeun: bakal aya solusi ti mana waé dina maze ka titik anu sanés. Upami anjeun hoyong inspirasi, anjeun tiasa ngaktipkeun posisi mimiti sareng bérés anu disarankeun - komo ningali solusi antara dua.
Ngeunaan Algoritma Eller
Algoritma Eller diwanohkeun ku David Eller.
Algoritma kasohor ku pendekatan baris-demi-baris anu efisien pikeun ngahasilkeun maze, sahingga idéal pikeun mazes atanapi mazes tanpa wates anu dihasilkeun sacara real-time. Ieu ilaharna dicutat dina generasi eusi prosedural jeung literatur Maze-generasi, tapi kuring teu bisa manggihan sumber primér detailing publikasi aslina.
Kumaha Algoritma Eller Gawé pikeun Maze Generation
Algoritma Eller ngolah hiji baris dina hiji waktu, ngajaga tur ngaropéa susunan sél disambungkeun. Éta mastikeun konektipitas bari ngahindarkeun puteran, sareng sacara éfisién ngalegaan maze ka handap.
Éta sacara téoritis tiasa dianggo pikeun ngahasilkeun mazes anu teu aya watesna, tapi pikeun mastikeun yén maze anu dibangkitkeun leres-leres tiasa direngsekeun, anjeun kedah ngalih kana logika "baris ahir" dina sababaraha waktos pikeun ngabéréskeun Maze.
Lengkah 1: Initialize Baris Kahiji
- Napelkeun unggal sél dina baris hiji ID set unik.
Lengkah 2: Gabung Sababaraha Sél Padeukeut Horizontal
- Gabungkeun sél-sél anu padeukeut sacara acak ku netepkeunana kana set ID anu sami. Ieu ensures yén aya passages horizontal.
Lengkah 3: Jieun Sambungan Vertikal ka Baris Salajengna
- Pikeun unggal set nu nembongan dina baris, sahenteuna hiji sél kudu nyambung ka handap (pikeun mastikeun konektipitas).
- Pilih sacara acak hiji atawa leuwih sél tina unggal set pikeun nyambung ka baris salajengna.
Lengkah 4: Pindah ka Baris Salajengna
- Neruskeun sambungan nangtung ku assigning set ID sarua ka sél pakait handap.
- Napelkeun ID set anyar pikeun sél mana wae nu teu ditugaskeun.
Lengkah 5: Ulang Lengkah 2–4 Nepi ka Baris Panungtung Dihontal
- Terus ngolah baris demi baris.
Lengkah 6: Ngolah Baris Final
- Pastikeun yén sadaya sél dina baris panungtung kagolong kana set anu sami ku cara ngahijikeun sésa-sésa sésa anu misah.