Jogo da cobrinha c
#include
#include
#include
#include
#include
struct coordenada { int x, y;
};
typedef struct
{
struct coordenada pos; int ocupado;
} CORPO; typedef struct snake {
CORPO corpo; struct snake *prox;
}SNAKE;
SNAKE *cabeca, *comida; char field[20][50]; int tamInicial = 5, velocidade=300, score=0, pontos=7, playagain=1; Página 1
cobrinha.txt void inicializarSnake(SNAKE
*cobra);
void definirCampo(); void definirSnake(); void definirVelocidade(); void gerarComida(); void definirSnakeCampo(SNAKE
*cobrinha, int tam); void mostrarCampo(); void movimentarCobrinha(SNAKE
*cobrinha, int tam, int direcao); int detectarColisaoComida(char direcao); int bloqueiaMovimento(char direcaoAtual, char novaDirecao); void crescerCobra(SNAKE
*cobrinha);
int detectarColisaoCobraCobra(SNAKE *cobrinha); int detectarColisaoCobraComida(SNAKE
*cobrinha);
void perdeu(SNAKE *cobrinha); int pause();
Página 2
cobrinha.txt main() {
SNAKE cobrinha;
SNAKE *aux; int i, j, tam=tamInicial, bloqueiaDirecao=0; unsigned char direcao, auxDirecao=77; ///////FUNÇÕES PARA
INICIALIZAR O JOGO//////////// inicializarSnake(&cobrinha); definirCampo(); definirSnake(&cobrinha); definirVelocidade(); system("title COBRINHA"); system("color F1"); definirSnakeCampo(&cobrinha, tam); gerarComida(); mostrarCampo();
//////FIM
Página 3
cobrinha.txt
FUNÇÕES//////////////////////////////
///
/////////////////GERAR
MOVIMENTO INICIAL PARA DIREITA while(!kbhit()) { movimentarCobrinha(&cobrinha, tam,
77);
definirSnakeCampo(&cobrinha, tam); system("cls"); mostrarCampo();
Sleep(velocidade);
if(detectarColisaoComida(77)) gerarComida(); }
///////////////////LOOP DE
MOVIMENTO DA COBRINHA while(playagain==1) { if(direcao==77 ||
Página 4
cobrinha.txt direcao==27 || direcao==80 || direcao==75 || direcao==72)auxDirecao
= direcao; direcao=getch(); while(direcao==0 || direcao==0xE0) direcao=getch(); if(direcao!=77 &&