Mazes ter sido um elemento popular da cultura desde Teseu entrou no labirinto para matar o minotauro na mitologia grega. A tecnologia tem avançado consideravelmente desde então, como os computadores são capazes de gerar instantaneamente labirintos completamente aleatórios usando o software de programação, como Java. Enquanto um script de geração de labirinto pode incluir milhões de variáveis diferentes , cada gerador labirinto precisa ter alguns requisitos básicos , a fim de executar com êxito. Instruções
1
Criar roteiro de abertura do labirinto :
public class Labirinto { private int N; private boolean [] [] norte; private boolean [] [] leste; private boolean [ ,"] [] sul; private boolean [] [] oeste; private boolean [] [] visitado; tamanho duplo privado ; private boolean feito = false;
labirinto pública (int N) { this.N = N; StdDraw.setXscale (0 , N +2) ; StdDraw.setYscale (0 , N +2 ), init () ; gerar ();}
2
Estabelecer um mecanismo de proteção que impede que o programa de revisitar células: void init privada () {//inicializa células de fronteira como já visitedvisited = new boolean [N 2 ] [N 2 ]; for (int x = 0; x < N +2 ; x + + ) visitou [x] [0] = visitou [x] [N +1 ] = true; for (int y = 0 , y < N +2 , y + + ) visitou [0] [y] = visitou [N +1 ] [y] = true;
3
Estabelecer todas as células do labirinto como estando presente ://inicializar todas as células como presentnorth = new boolean [N 2 ] [N 2 ]; leste = new boolean [N 2 ] [N 2 ]; sul = new boolean [N 2 ] [N 2 ]; oeste = new boolean [N 2 ] [N 2 ]; for (int x = 0; x < , N +2 ; x + +) for (int y = 0 , y < N +2 , y + +) ao norte [x] [y] = leste [x] [y] = sul [x] [y] = oeste [x ] [y] = true;}
4
Incluir linhas geração labirinto de código: private void gerar ( int x , int y) { visitou [x] [y] = true;
while ( visitado [x] [y +1 ]