Evo algoritma, ako neko ima bolji algoritam neka da predlog:
Lavirint se mora uraditi preko klasa zbog velikih zahteva.
Algoritam je sledeci:
Prvo se odredi koja stranica lavirinta sluzi kao ulaz u lavirint i na kom mestu u toj stranici, koja stranica sluzi kao izlaz i na kom mestu u toj stranici. Prvo se upise put resenja kroz ceo lavirint od ulaza do izlaza, sada se od ulaza prema izlazu dodaje nekoliko sporednih puteva koji idu skoro do izlaza i sa jedne i sa druge strane puta za resenje. Sada se dodaje nekoliko puteva koji idu od izlaza do skoro prema ulazu i sa jedne i sa druge strane od puta za resenje. Od sporednih puteva mogu ici neki kraci putevi da popune praznine na tom mestu. Pri cemu sporedni putevi nikako ne smeju da se ukrstaju sa glavnim putem. Za svako polje se mora definisati u nizu za sve cetiri linije koje sluze kao okviri oko polja: krozj koju liniju u polju je usao koji put, kroz koju liniju u polju je izasao koji put(glavni, sporedni). U polju kroz one linije kroz koje su usli/izasli putevi(presecene linije polja) nema crtica, a gde nisu usli putevi na te linije idu crtice. I to je to momci. Svako polje ima 4 crtice oko polja koje cine kvadrat. To je ceo algoritam. Da li vam je jasno?