Paso 24: MazeArray - la matriz de laberinto
MazeArray comienza con la declaración completa de todas las entradas de nivel superior y salidas, pasa a declarar todos los subcomponentes y señales y luego se conecta a.
Los datos del laberinto se realiza en una señal que se llama 'laberinto', de tipo personalizado 'maze_type'. 'Maze_type' es un array de 2 dimensiones de los vectores de la lógica estándar de 3 bits. Cada elemento del array almacena los datos en el tipo de espacio en esa ubicación. Al acceder a la matriz, la dimensión Y se especifica primero.
Los códigos para las ubicaciones de la matriz son:
- "000": espacio en blanco espacio de la pared
- "001": pared
- "010": jugador espacio abierto
- "011": jugador
- "100": punto de partida
- "101": punto final
El laberinto cambia entre espacios de pared y jugador. Espacios del jugador están rodeados por todos los lados por paredes y dos espacios de cada espacio de jugador, ortogonalmente.
La matriz de laberinto que está en uso se selecciona mediante la instrucción select y la entrada de la Junta , que está conectada a una serie de interruptores. La junta puede cambiarse en cualquier momento, por lo que debe tener cuidado de no cambiar durante el juego.
Nuevas placas pueden programarse, aunque conviene diseñarlos externamente y luego copiarlos, ya que esto permite el uso de caracteres alternativos al escribir el laberinto (así no tienes que diseñar el laberinto en binario), que luego puede ser sustituido por los verdaderos códigos binarios. La sentencia select puede ser ampliada para permitir más juntas.