Rodomi pranešimai su žymėmis generation. Rodyti visus pranešimus
Rodomi pranešimai su žymėmis generation. Rodyti visus pranešimus

2011-05-10

Labirintų generavimas

                Vienas gan įdomus uždavinys yra labirintų sprendimas – pradedant įėjimu pasiekti labirinto pabaigą. Kompiuteriai tai atlieka itin greitai, žmogui tektų kaip reikiant paprakaituoti, jei duotume sudėtingesnį atvejį. Labirintų sprendimui naudojamas paieškos į gylį metodas – breadth first search arba tiesiog BFS. Jei teko bent kiek domėtis, tai šis metodas veikia labai paprastai ir primena Flood fill metodą (tą patį kurį naudoja Photoshop, MS Paint, Gimp etc.) figūrų užpildymui tik šiek tiek modifikuotą. 
                Kitas uždavinys – labirintus ne spręsti, bet juos generuoti! Taip! Pasirodo, kad generuoti labirintą nėra taip paprasta, kaip gali pasirodyti. Šiame straipsniuke pabandysiu apžvelgti pamąstymus, kaip tai būtų galima atlikti ir galiausiai užbaigsime su realizacija. Jokiu būdu nesistengsiu sugalvoti kažko optimalaus ir minimalaus, o tiesiog parodyti, kad generavimo idėja irgi gali būti įdomi ir įtraukianti.