J'essaye de générer un labyrinthe en Objective-C. J'ai construit un graphique et connecté tous les bords (je pense). Cependant, je suis coincé en essayant de faire le vrai labyrinthe.Génération Maze utilisant DFS
Voici le code que je utilise:
- (void)visitFromCurrentPoint:(GridPoint *)point fromPreviousVertex:(Vertex *)prev {
if ([grid allVerticiesVisited]) {
NSLog(@"done!");
return;
}
Vertex *cur = [grid vertexAtPoint:point];
[grid setVertextVisited:cur];
NSArray *borderingVerticies = [grid verticiesBorderingPoint:point];
Vertex *randomVertex;
int random = arc4random()%[borderingVerticies count];
randomVertex = [borderingVerticies objectAtIndex:random];
if (![randomVertex visited]) {
[cur.edgeList removeObject:prev];
[prev.edgeList removeObject:cur];
[self visitFromCurrentPoint:[randomVertex point] fromPreviousVertex:cur];
}
else {
[self visitFromCurrentPoint:point fromPreviousVertex:cur];
}
}
Cependant, cela ne fonctionne pas et je reçois un débordement de pile. Pouvez-vous voir ce que je fais mal?
Merci d'avance!
Alors, quelle est la question ici? –
@ BlueRaja-DannyPflughoeft Oups, j'ai oublié de demander même. Je reçois un débordement de pile. J'ai modifié la question pour inclure cela maintenant. Pardon! –
trop récursion – nielsbot