[#1]
Generowanie labiryntu potrzebny wydajny algorymt
Witajcie,
dawno mnie tu nie było ale do rzeczy.
Dotychczas używałem następującego algorytmu:
zapisz tablice 2d liczbami od 1 do pole tablicy ( dla tablicy 2x3 jest to od 1 do 6) zapis ten przebiega losowo
wylosuj współrzędne pokoju oraz zmienną odpowiedzialną za kierunek (N,S,W,E)
jeśli idąc w wylosowanym kierunku 1 pole nie wyjdę z zakresu oraz numer w polu początkowym będzie różny od pola w pokoju kolejnym to wpisuje w tablicy służącej do przetrzymywania informacji o przejściach tą informację oraz zamieniam wszystkie wyższe numery na niższe.
np jeśli otwieram drzwi między pokojem o numerku 13 i 69 to zamieniam wszystkie numerki pokoi 69 na 13
i kod taki wykonuje się aż każdy pokój będzie mieć numerek 1.
niestety ten algorytm jest dość wolny.
jaki wy zaproponujecie algorytm do generowania labiryntu prostokątnego o dość sporych wymiarach z zastrzeżeniem że z dowolnego jednego pokoju można dojść do dowolnego innego jakąś drogą.
Za każdą odpowiedz serdeczne Bóg zapłać:)