Generator Labirinta Lov in Ubij
Objavljeno: 16. februar 2025 ob 8:57:10 pop. UTC
Nazadnje posodobljeno: 12. januar 2026 ob 9:05:05 dop. UTC
Hunt and Kill Maze Generator
Algoritem Hunt and Kill je v resnici spremenjena različica rekurzivnega sledenja nazaj. Sprememba je sestavljena iz sistematičnega skeniranja (ali "lova") za novo celico, od koder se nadaljuje, ko ne more več iti naprej, v nasprotju s pravim rekurzivnim iskanjem, ki se vedno vrne na prejšnjo celico na skladu.
Zaradi tega je mogoče ta algoritem enostavno prilagoditi za ustvarjanje labirintov z različnim videzom in občutkom, preprosto tako, da se pogosteje ali v skladu z določenimi pravili preklopi v način "lova". Različica, ki je implementirana tukaj, preklopi v način "lova" le, ko ne more iti dlje od trenutne celice.
Popoln labirint je labirint, v katerem obstaja natanko ena pot od katere koli točke v labirintu do katere koli druge točke. To pomeni, da se ne morete vrteti v krogu, vendar boste pogosto naleteli na slepe ulice, zaradi česar se boste morali obrniti in vrniti nazaj.
Tukaj ustvarjeni zemljevidi labirintov vključujejo privzeto različico brez začetnih in končnih položajev, tako da jih lahko določite sami: iz katere koli točke v labirintu do katere koli druge točke obstaja rešitev. Če želite navdih, lahko omogočite predlagana začetni in končni položaj - in si celo ogledate rešitev med njima.
O algoritmu lova in ubijanja
Algoritem Hunt and Kill je preprosta, a učinkovita metoda za ustvarjanje labirintov. Nekoliko je podoben iskanju v globino (tj. algoritmu Rekurzivnega sledenja nazaj), le da ko ne more iti dlje od trenutnega položaja, sistematično skenira (ali "lovi") labirint, da bi našel novo celico, iz katere lahko nadaljuje. Algoritem je sestavljen iz dveh glavnih faz: hoje in lova.
Kako deluje algoritem lova in ubijanja za ustvarjanje labirinta
1. korak: Začnite v naključni celici
- V mreži poiščite naključno celico in jo označite kot obiskano.
2. korak: Faza hoje (naključna hoja)
- Izberite naključnega neobiskanega soseda.
- Premaknite se do sosednje celice, jo označite kot obiskano in začrtajte pot med prejšnjo in novo celico.
- Ponavljajte, dokler ne ostane nobenega neobiskanega soseda.
3. korak: Faza lova (povratno sledenje s skeniranjem)
- Skenirajte mrežo vrstico za vrstico (ali stolpec za stolpcem).
- Poiščite prvo neobiskano celico, ki ima vsaj enega obiskanega soseda.
- Povežite to celico z obiskanim sosedom, da nadaljujete fazo hoje.
- Ponavljajte, dokler niso obiskane vse celice.
Nadaljnje branje
Če vam je bila ta objava všeč, vam bodo morda všeč tudi ti predlogi:
- Generator labirinta Ellerjevega algoritma
- Generator labirinta Kruskalovega algoritma
- Generator labirinta Wilsonovega algoritma
