Los principiantes que buscan código fuente de serpiente en lenguaje C deben tener comentarios, sin función de movimiento del cursor ni nada por el estilo (los principiantes no pueden entenderlo). No hay otros requisitos aparte de ese, no
#definir N 200
#include
#include
#include
#include p>
#include
#define IZQUIERDA0x4b00
#define DERECHA 0x4d00
#define ABAJO 0x5000
#define ARRIBA 0x4800
#define ESC 0x011b
int i, clave
int puntuación=0;/* puntuación*/
int gamespeed= 50000;
struct Food
{
int x;/* abscisa de alimentos*/
int y;/ * La vertical coordenada de la comida*/
int yes;/* Variable utilizada para determinar si la comida existe*/
}comida;/* La estructura de la comida.
estructura Serpiente
{
int x[N]
int y[N]; int node;/* El número de nodos de la serpiente*/
int direction;/* La dirección de movimiento de la serpiente*/
int life;/* El valor de vida de la serpiente, 0 vivo, 1 Muerte*/
}serpiente;
void Init(void);/* Controlador de gráficos*/
void Close(void );/* Fin del gráfico */
void DrawK(void);/* Pantalla de inicio*/
void GameOver(void);* Fin del juego*/
void GamePlay( void);/* Juega el proceso específico del juego*/
void PrScore(void);/* Genera la puntuación*/
/* Principal function*/
void main(void)
{
Init();/* Controlador de gráficos*/
DrawK() ;/* Pantalla de inicio*/ p>
GamePlay();/* Juega el juego exactamente como se debe jugar*/
Close();/* Fin gráfico*/
}
/* Controlador de gráficos**/
}
void Init(void)
{
int gd=DETECT ,gm;
initgraph(&gd,&gm, "c:\\tc");
cleardevice();
}
/* Inicia la pantalla con la valla con las coordenadas de la esquina superior izquierda (50, 40) y la esquina inferior derecha (610, 460) */
void DrawK(void)
{
/*setbkcolor(LIGHTGREEN);*/
setcolor(11); (SOLID_LINE,0,THICK_WIDTH);/* setlinestyle*/
for(i=50;i<=600;i+=10)/* Dibujar recinto*/
{
rectángulo(i,40,i+10,49 ); /* parte superior* /
rectángulo(i,451,i+10,460); /* borde inferior */ p>
}
for(i= 40;i<=450;i+=10)
{
rectángulo(50,i,59 ,i+10); /* lado izquierdo*/
rectángulo(601 ,i,610,i+10);/* lado derecho*/
}
}
}
}dirección=1 ;/*Dirección a la derecha*/
serpiente.x[0]=100;snake.y [0] =100;/* Cabeza de serpiente*/
serpiente x[1]=110;snake.y[1]=100;
serpiente.node=2;/* Número. de nodos**
PrScore();/* Puntuación de salida **
while(1)/* Puedes jugar el juego repetidamente y presionar la tecla ESC para finalizar*/
{
w
hile(!kbhit())/* La serpiente moverá su cuerpo por sí sola sin presionar un botón*/
{
if(food.yes==1)/* Requerido Aparece como un nuevo alimento*/
{
food.x=rand()% 4060
food.y=rand(); % 3560;
while(food.x%10!=0)/* La comida debe ser aleatoria para que la comida quede en una celda completa para que la serpiente pueda comerla*/
comida.x++;
while(comida.y%10! 10!=0)
comida.y++
comida. 0;/*Hay comida en la pantalla*/
}
if(food.y%10!
if(food.yes==0 )/* Si hay comida en la pantalla, muestra la comida*/
{