Red de conocimiento informático - Conocimiento sistemático - Fuente Novato

Fuente Novato

Serpiente

#define N 200

#incluye

#incluye

#incluye

#define izquierda 0x4b00

#Definir derecha 0x4d00

#Definir 0x5000 hacia abajo

#Definir hasta 0x4800

#Definir ESC 0x011b

int i, key

int score = 0 /*score*/

int gamespeed = 50000/*ajusta la velocidad del juego tú mismo*/

Estructura Alimentos

{

int x; /*abscisa de los alimentos*/

int y;/*coordenada vertical de los alimentos*/

int yes/*Determinar si aparecerá la variable alimentaria*/

}Alimento /*La estructura de los alimentos*/

Estructura de la serpiente

{

int x[N];

int y[N];

int nodo; /*Número de nudos de serpiente*/

int Dirección; /*La dirección de movimiento de la serpiente*/

int vida/*La vida de la serpiente, 0 está viva, 1 está muerta*/

}Serpiente ;

void Init(void); /*Controlador de gráficos*/

void Close(void); /*Fin del gráfico*/

void DrawK(void); ); /* Pantalla de inicio*/

anular el juego (void); /*Finalizar el juego*/

anular el juego (void); juego*/

void PrScore(void);/*resultado de salida*/

/*función principal*/

Administrador no válido (no válido)

{

init();/*Controlador de gráficos*/

DrawK();/*Pantalla de inicio*/

Juego(); /*Jugar juegos Proceso específico*/

close() /*Fin del gráfico*/

}

/*Controlador de gráficos*/

inicialización de vacío (void)

{

int gd=DETECT, GM;

init graph(amp; gd, ampgm, "c: \\TC" );

clear device();

}

/*Pantalla de inicio, las coordenadas de la esquina superior izquierda son (50, 40 ), y las coordenadas de la esquina inferior derecha son (610 , 460 */

void DrawK (inválido)

{

/*setbkcolor (verde claro ); */

establecer color (11);

setlinestyle(SOLID_LINE, 0, THICK _ WIDTH); /*Establecer estilo de línea*/

para (I = 50; Ilt=600; I =10 )/*Dibujar una valla*/

{

Rectángulo (I, 40, i 10, 49); que*/

Rectángulo ( I, 451, i 10, 460 /*menor que*/

}

for(I = 40; i); lt=450; i =10)

{

Rectángulo (50, I, 59, I 10); /*Izquierda*/

Rectángulo (601); , I, 610, I 10); /*Derecho */

}

}

/*El proceso específico de jugar*/

Juego no válido (vo

id)

{

randomize(); /*Generador de números aleatorios*/

comida sí = 1 /*1 indica que aparecen nuevas necesidades alimentarias. 0 significa que la comida ya está presente*/

snake life = 0; /*alive*/

snake .direction = 1; >

serpiente . x[0]= 100; serpiente . y[0]= 100; /*cabeza de serpiente*/

serpiente 100; 2; /*Número de nodos*/

PrScore(); /*Puntuación de salida*/

Y (1)/ *Puedes jugar el juego repetidamente y presionar ESC para finalizar. */

{

Y (!Khit ())/*La serpiente se mueve sola sin presionar el botón*/

{

If(food.yes==1)/*necesita comida nueva*/

{

comida x = rand() 400 60;

food . y = rand() 350 60;

Y (food.x10!=0)/*Después de que la comida aparezca aleatoriamente, la comida debe estar en toda la cuadrícula, solo las serpientes pueden comer*/

comida .yes = 0;/*Hay comida en la pantalla*/

}

If(food.yes==0)/*If hay comida en la pantalla, se mostrará */

{