Miklix

Jahti ja Tappa Labürindi Loodur

Avaldatud: 16. veebruar 2025, kell 20:53:19 UTC
Viimati uuendatud: 12. jaanuar 2026, kell 09:04:55 UTC

Labürindi generaator, mis kasutab Hunt and Kill algoritmi täiusliku labürindi loomiseks. See algoritm sarnaneb rekursiivse tagasijälgijaga (Recursive Backtracker), kuid kipub genereerima labürinte mõnevõrra lühemate ja looklevate koridoridega.

See lehekülg on inglise keelest masintõlgitud, et muuta see võimalikult paljudele inimestele kättesaadavaks. Kahjuks ei ole masintõlge veel täiuslik tehnoloogia, mistõttu võivad esineda vead. Kui soovite, võite vaadata ingliskeelset originaalversiooni siin:

Hunt and Kill Maze Generator

Hunt and Kill algoritm on tegelikult rekursiivse tagasijälgija modifitseeritud versioon. Modifikatsioon seisneb süstemaatilises uue lahtri skaneerimises (või "jahtimises"), et leida sealt, kust edasi minna ei saa, erinevalt tõelisest rekursiivsest otsingust, mis alati naaseb pinu eelmise lahtri juurde.

Seetõttu saab seda algoritmi hõlpsalt kohandada erineva välimuse ja tundega labürintide loomiseks, valides lihtsalt sagedamini või vastavalt kindlatele reeglitele "jahi" režiimi sisenemise. Siin rakendatud versioon lülitub "jahi" režiimi ainult siis, kui see ei saa praegusest lahtrist kaugemale minna.

Täiuslik labürint on labürint, kus on täpselt üks tee labürindi mis tahes punktist mis tahes teise punkti. See tähendab, et te ei saa sattuda ringiratastesse, kuid sageli satute ummikteedesse, mis sunnib teid ümber pöörama ja tagasi minema.

Siin genereeritud labürindi kaardid sisaldavad vaikimisi versiooni ilma algus- ja lõpp-punktideta, nii et saate need ise otsustada: labürindi mis tahes punktist mis tahes teise punkti on olemas lahendus. Kui soovite inspiratsiooni, saate lubada soovitatud algus- ja lõpupositsiooni - ja isegi näha lahendust nende kahe vahel.


Uue labürindi loomine








Jahtimise ja tapmise algoritmi kohta

Jahi ja tapa algoritm on lihtne, kuid tõhus meetod labürintide genereerimiseks. See sarnaneb mõnevõrra sügavuspõhise otsinguga (st rekursiivse tagasijälgija algoritmiga), välja arvatud see, et kui praegusest asukohast kaugemale minna ei saa, skannib (või "jahib") see süstemaatiliselt üle labürindi, et leida uus lahter, kust edasi liikuda. Algoritm koosneb kahest põhifaasist: kõndimisest ja otsimisest.

Kuidas jahi- ja tapmisalgoritm labürindi genereerimisel töötab

1. samm: alusta juhuslikust lahtrist

  • Leia ruudustikust suvaline lahter ja märgi see külastatuks.

2. samm: kõndimisfaas (juhuslik kõndimine)

  • Vali suvaline külastamata naaber.
  • Liiku selle naabri juurde, märgi see külastatuks ja raada tee eelmise ja uue lahtri vahele.
  • Korda seni, kuni külastamata naabreid pole enam.

3. samm: jahifaas (tagasijälgimine skaneerimise teel)

  • Skanneeri ruudustikku rida-realt (või veerg-veerult).
  • Leia esimene külastamata rakk, millel on vähemalt üks külastatud naaber.
  • Kõndimisfaasi jätkamiseks ühenda see rakk külastatud naabriga.
  • Korda, kuni kõik lahtrid on külastatud.

Lisalugemist

Kui see postitus teile meeldis, võivad teile meeldida ka need soovitused:


Jagage Bluesky'sJaga FacebookisJagage LinkedInisJaga TumblrisJaga X-isJagage LinkedInisKinnitage Pinterestis

Mikkel Christensen

Autorist

Mikkel Christensen
Mikkel on miklix.com looja ja omanik. Tal on üle 20 aasta kogemust professionaalse programmeerija/tarkvaraarendajana ning praegu töötab ta täiskohaga suures Euroopa IT-ettevõttes. Kui ta ei kirjuta blogi, veedab ta oma vaba aega mitmesuguste huvide, hobide ja tegevustega, mis võib mingil määral kajastuda sellel veebisaidil käsitletavate teemade mitmekesisuses.