Labirinti sono stati un elemento della cultura popolare da quando Teseo entrò nel labirinto per uccidere il Minotauro nella mitologia greca . La tecnologia è avanzata notevolmente da allora, come i computer sono in grado di generare istantaneamente labirinti del tutto casuali usando il software di programmazione come Java . Mentre uno script di generazione labirinto potrebbe includere milioni di diverse variabili , ogni generatore labirinto deve avere alcuni requisiti di base per poter eseguire correttamente . Istruzioni
1
Creare script del labirinto di apertura :
class Maze pubblico { private int N; private boolean [ ] [ ] a nord ; booleano privato [ ] [ ] est ; booleano privato [ ,"] [ ] a sud ; private boolean [ ] [ ] ovest ; private boolean [ ] [ ] visitò ; doppia dimensione privata ; boolean privato done = false;
Maze pubblico ( int n ) { this.N = N; StdDraw.setXscale ( 0 , N +2) ; StdDraw.setYscale ( 0 , N +2 ), init (); generare (); }
2
Stabilire un meccanismo di sicurezza che impedisce al programma di rivisitazione cellule : private void init ( ) { //inizializza celle di confine come già visitedvisited = new boolean [ n +2 ] [ n +2] ; for (int x = 0; x < N +2 , x + + ) visitato [ x ] [ 0 ] = visitato [ x ] [ N +1 ] = true; for (int y = 0; y < N +2 , y + + ) visitato [ 0 ] [y ] = visitato [ N +1 ] [y ] = vero ;
3
Stabilire tutte le cellule del labirinto come presenti ://inizializzare tutte le celle come presentnorth = new boolean [ n +2 ] [ n +2] ; est = new boolean [ n +2 ] [ n +2] ; sud = new boolean [ n +2 ] [ n +2] ; ovest = new boolean [ n +2 ] [ n +2] ; for (int x = 0 ; x < , N +2 , x + + ) for (int y = 0; y < N +2 , y + + ) a nord [ x ] [ y ] = est [ x ] [ y ] = sud [ x ] [ y ] = ovest [ x ] [y ] = true ; }
4
comprendono linee generazione labirinto di codice : private void generano (int x , int y ) { visitato [ x ] [ y ] = true ;
< p > mentre ( visitato [ x ] [ y +1 ]