Hur du skapar och använder labyrinter (1 / 4 steg)
Steg 1: En algoritm
Jag inte har skapat denna algoritm, jag har upptäckt det i en bok och jag skapade en kod från detta. Det är inte bara en labyrint generator algoritmen, men här var, för mig, lättare att konvertera i koden.
Låt oss börja med en mängd celler. Varje cell hade fyra riktningar, länka till fyra celler. Varje cell kan vara "besökte" eller "inte besökt".
Algoritmen säger:
- varje cell är "inte besökt" när vi börjar.
- du har väggar i varje riktning, i varje cell.
- Markera en cell
- Välj en riktning (vänster, höger, upp eller ner).
- Kontrollera om cellen i vald riktning är besökt eller inte.
- om inte, gå över till den nya cellen, bryta väggen (ta bort den) och göra den nya cellen besökte.
- om den valda cellen i vald riktning är redan besökt, välja en ny riktning.
- om varje cell runt du besökt, flytta bakåt till föregående cell och starta igen att välja en slumpmässig riktning
- gör stegen tills varje cell som besöks.
Den viktigaste slutsatsen av denna algoritm är att labyrinten innehåller endast en sökväg, innebär att du kan nå alla celler. Det hade inte en definierad början och slut.
Bilder bifogas i detta steg är ett exempel. Jag börjar med cellen 1, och sedan 8, 9, 10, 3 och 2. I cellen 2 har jag inte alla celler som finns här, så jag flytta tillbaka i cell 3. Här, fortsätter jag på cellen 4...