Projeto de programação simples
Projeto de Sistemas Digitais
Snake Game
Tales Câmara e Wagner Azevedo
Introdução O nosso projeto consiste em desenvolver o jogo “Snake”, conhecido como “jogo da cobrinha”, em projeto RTL e descrevê-lo em VHDL. O jogo “Snake” deriva de outros jogos bem conhecidos, e.g. o TRON. Desde os anos 70 ele já era implementado em fliperamas e mini games, mas só foi amplamente difundido a partir de 1998, quando a NOKIA lançou aparelhos com o jogo pré-instalado de fábrica. As regras do jogo são bem simples: O jogador controla uma criatura fina e alongada através de um campo com obstáculos, ele deve desviar dos obstáculos e de seu próprio corpo, que o segue aonde quer que vá. Ganha-se pontos ao passar sobre marcas chamadas “food” e que aparecem de forma aleatória nos campo, ao passar por essas demarcações o personagem cresce em comprimento dificultando o jogo. Existem muitas variações do jogo, onde se é possível escolher sua dificuldade, com mais ou menos obstáculos e também variando a velocidade com que a cobra se movimenta. Em nosso projeto escolhemos a forma mais clássica do jogo, no qual os únicos obstáculos existentes são os limiares do campo e após ganhar certo tamanho o jogo termina com a máxima pontuação.
Desenvolvimento Para recriar o jogo percebemos a necessidade de desenvolver 4 pontos distintos: a movimentação, onde os seguimentos deveriam seguir o controle do primeiro seguimento (chamado cabeça), o teste de colisão, caso a cobra colida com as bordas do grid ou consigo mesma, o crescimento da cobra ao coletar alimento e um gerador randômico de comida. Com esses detalhes estabelecidos, inicialmente idealizamos o jogo em uma única memória onde cada palavra seria fracionada para identificar uma parte do grid, com entrada alta sendo para identificar um seguimento da cobra ou uma comida. Entretanto, também seria necessário classificar o ranking dos