Mazes har været et populært element i kulturen siden Theseus indtastet labyrinten at dræbe Minotaurus i den græske mytologi . Teknologien har udviklet sig betydeligt siden da, da computere er i stand til øjeblikkeligt generere helt tilfældige labyrinter ved hjælp programmeringssoftware såsom Java. Mens en labyrint generation script kunne omfatte millioner af forskellige variabler , hver labyrint generator skal have et par grundlæggende krav for at køre med succes . Instruktioner
1
Opret labyrinten åbning script : Hej
public class Maze { private int N; private boolean [] [] nord , private boolean [] [] øst , private boolean [ ,"] [ ] syd, private boolean [] [] west , private boolean [] [] besøgte , privat dobbelt størrelse , privat boolean gjort = false;
offentlig Maze ( int N) { this.N = N ; StdDraw.setXscale (0 , N +2 ), StdDraw.setYscale (0 , N +2 ), init (); generere ( );}
2
Etablere en fejlsikker , der forhindrer programmet i at genoptagelse celler: private void init () { //initialisere grænserne celler som allerede visitedvisited = new boolean [N +2] [N +2 ] for (int x = 0; x < N +2 x + +) besøgte [x] [0 ] = besøgt [x] [ N +1 ] = true; for (int y = 0; y < N +2 , y + +) besøgte [0] [y ] = besøgt [N +1 ] [y] = sandt,
3
Etablere alle celler i labyrinten som værende til stede ://initialisere alle celler som presentnorth = new boolean [N +2] [N +2 ] øst = new boolean [N +2] [N +2 ] syd = new boolean [N +2] [N +2 ] west = new boolean [N +2] [N +2 ] for (int x = 0; x < , N +2 x + +) for (int y = 0; y < N +2 , y + +) nord [x] [y ] = øst [x] [y ] = syd [x] [y ] = west [x ] [y] = true ;}
4
Medtag labyrint generation linjer kode : private void genererer ( int x , int y) { besøgt [x] [y] = true;
< p> while ( besøgte [x] [y +1 ]