Mazes haben eine beliebte Element der Kultur seit Theseus das Labyrinth eingetragen zu töten dem Minotaurus in der griechischen Mythologie . Die Technik hat sich seitdem beachtlich fortgeschritten , wie Computer in der Lage, sofort zu generieren völlig zufällig Labyrinthe mit dem Programmier- Software wie Java sind . Während ein Labyrinth Generation Skript Millionen von verschiedenen Variablen enthalten könnte , muss jedes Labyrinth -Generator , ein paar grundlegende Anforderungen haben , um erfolgreich zu laufen . Anleitung
1
erstellen Das Labyrinth der Eröffnung Skript :
public class Maze {private int N; private boolean [] [] Norden; private boolean [] [] Osten; private boolean [ ,"] [ ] Süden; private boolean [] [] Westen; private boolean [] [] besucht , private doppelte Größe ; private boolean getan = false;
öffentlichen Maze (int N) { this.N = N; StdDraw.setXscale (0 , N +2) ; StdDraw.setYscale (0 , N +2) ; init () ; generate () ;}
2
Bauen Sie eine ausfallsichere , die das Programm verhindert erneutes Zellen : private void init ( ) {//initialisieren Grenze Zellen wie bereits visitedvisited = new boolean [N +2 ] [N +2] ; for (int x = 0; x < N +2; x + +) besucht [x] [0] = besucht [x] [N +1] = true; for (int y = 0; y < N +2; y + +) besucht [0] [y] = besucht [N +1 ] [y ] = true;
3
Stellen Sie alle Zellen in das Labyrinth als vorhanden ://initialisieren alle Zellen als presentnorth = new boolean [N +2 ] [N +2] ; Osten = new boolean [N +2 ] [N +2] ; Süden = new boolean [N +2 ] [N +2] ; Westen = new boolean [N +2 ] [N +2] ; for (int x = 0; x < , N +2; x + +) for (int y = 0; y < N +2; y + +) nördlich [x] [ y] = Ost [x ] [y ] = Süden [x] [ y] = west [x ] [y ] = true; }
4
einbeziehen Labyrinth Generation Zeilen Code : private void erzeugen (int x , int y) { besucht [x] [ y] = true;
< p> while ( besucht [x ] [y +1 ]