Jogo labirinto
Prof. Marcelo Honorato Marleta
Trabalho I
Labirinto
José Carlos Marquetti Junior - 6909564 Richardo Chino - 6792774 André Marcatto – 6792603
1. Introdução
O primeiro trabalho de Elementos de Lógica Digital II visou desenvolver um projeto completo em VHDL para aprofundar o aprendizado em relação à essa linguagem e botar em prática métodos e teorrias aprendidas em aula. Para isto, era esperado escolher algum jogo para implementar em VHDL e executar nas placas de FPGA disponíveis no laboratório. O jogo escolhido pelo grupo foi o do “Labirinto”.
2. Projeto 2.1 Especificação do jogo
O Labirinto é um jogo simples, constituído por um labirinto feito por paredes, o jogador e um ponto de chegada e saída. A missão é atravessar o labirinto utilizando as teclas W (cima), A (esquerda), S (baixo) e D (direita) para movimentar o personagem, evitando caminhos sem saída. Ao chegar no final do labirinto, o jogador volta ao início para começar o jogo novamente.
2.2 Funcionamento do jogo
O labirinto possui um desenho fixo, em todo jogo as paredes são as mesmas. Portanto, as paredes do labirinto são selecionadas estaticamente ao invés de usar um vetor binário em uma tela com 240 posições, podendo enxergar como uma matriz 12x20. Desse modo, todo o processo de impressão na tela e colisão devem ser feitas elemento por elemento. A impressão das paredes e do jogador na tela é feita utilizando uma máquina de estados em que a cada dois estados imprime um tile na tela. Assim o projeto requer um clock alto para que não haja delay de impressão. A cada dois estados, são definidas o caracter do desenho (formato), a posição na tela em que deve ser impressa e a cor que o desenho terá. O movimento do personagem na tela é feita a partir do comando que o usuário solicita, apertando as teclas W, A, S e D. Para impedir que o personagem atravesse paredes, ou saia da tela do jogo, utiliza-se de limitações para que isso não