La Red de Conocimientos Pedagógicos - Currículum vitae - ¿Qué es el código del juego en lenguaje C en dev-c?

¿Qué es el código del juego en lenguaje C en dev-c?

#include \x0d\#include \x0d\#include \x0d\#include \x0d\\x0d\#definir U 1\x0d\#definir D 2\x0d\#definir L 3\x0d \#define R 4 //El estado de la serpiente, U: arriba; D: abajo; L: izquierda R: ​​derecha\x0d\\x0d\typedef struct SNAKE { //Un nodo del cuerpo de la serpiente\x0d\ int x;\x0d \int y;\x0d\struct SERPIENTE *next;\x0d\} serpiente;\x0d\\x0d\//Variables globales//\x0d\int puntuación=0, agregar=10; Puntuación y puntuación de cada bocado. \x0d\int status, sleeptime=200; // El intervalo de tiempo entre cada ejecución\x0d\snake *head, *food; // Puntero de cabeza de serpiente, puntero de comida\x0d\snake *q; Pointer\x0d\int endgamestatus=0; // El juego termina, 1: Golpea la pared 2: Muerdete 3: Sal del juego activamente;

\x0d\\x0d\//Declarar todas las funciones//\x0d\void Pos(); \x0d\void creatMap(); \x0d\void initsnake(); \x0d\int bitself(); (); \x0d\void cantcrosswall(); \x0d\void movimiento de serpiente(); \x0d\void pausa(); \x0d\void gamecircle(); ;\x0d\void gamestart();\x0d\\x0d\void Pos(int x, int y)//Establecer la posición del cursor\x0d\{\x0d\COORD pos;\x0d\HANDLE hOutput;\x0d\pos X=x;\x0d\pos.Y=y;\x0d\hOutput=GetStdHandle(STD_OUTPUT_HANDLE);\x0d\SetConsoleCursorPosition(hOutput, pos);\x0d\}\x0d\\x0d\void creatMap()//. Crear mapa\x0d\{\x0d\int i;\x0d\for(i=0; ix=24;\x0d\tail-gt; y=5;\x0d\tail-gt; next=NULL;\x0d\ for (i=1; inext=tail;\x0d\head-gt; x=24 2*i;\x0d\head-gt; y=5;\x0d\tail=head;\x0d\}\x0d\ while ( tail!=NULL) { //Desde el principio hasta el final, genera el cuerpo de la serpiente\x0d\Pos(tail-gt; x, tail-gt; y);\x0d\printf("■");\x0d \tail=tail- gt;next;\x0d\}\x0d\}\x0d\\x0d\int bitself()//Juzga si te mordiste\x0d\{\x0d\snake *self;\x0d\self= head-gt;siguiente ;\x0d\ while(self!=NULL) {\x0d\if(self-gt;x==head-gt;x amp;amp; self-gt;y==head-gt;y ) {\x0d\ return 1;\x0d\}\x0d\self=self-gt;next;\x0d\}\x0d\return 0;\x0d\}\x0d\\x0d\void createfood()//Aleatorio aparece la comida\x0d\ {\x0d\snake *food_1;\x0d\srand((unsigned)time(NULL));\x0d\food_1=(serpiente*)malloc(sizeof(serpiente));\x0d\ while(( food_1-gt;x2 )!=0) { //Asegúrate de que sea un número par para que la comida pueda alinearse con la cabeza de la serpiente\x0d\food_1-gt; x=rand()52 2;\x0d\} \x0d\food_1-gt; y=rand( )24 1;\x0d\q=head;\x0d\ while(q-gt;next==NULL) {\x0d\if(q-gt;x==food_1 -gt;x amp;amp; q-gt ;y==food_1-gt;y) { //Determina si el cuerpo de la serpiente coincide con la comida\x0d\free(fo

od_1);\x0d\createfood();\x0d\}\x0d\q=q-gt; siguiente;\x0d\}\x0d\Pos(food_1-gt;x,food_1-gt;y);\x0d\ food=food_1;\x0d\printf("■");\x0d\}\x0d\\x0d\void cantcrosswall()//no puedo atravesar la pared\x0d\{\x0d\if(head-gt; x==0 || head-gt; \x0d\}\x0d\\x0d\void Snakemove()//La serpiente se mueve hacia adelante, arriba U, abajo D, izquierda L, derecha R\x0d\{\x0d\snake * nexthead;\x0d\cantcrosswall();\x0d \\x0d\nexthead=(serpiente*)malloc(tamañode(serpiente));\x0d\if(status==U) {\x0d\nexthead-gt; -gt; x;\x0d\nexthead-gt ;y=head-gt;y-1;\x0d\if(nexthead-gt;x==comida-gt;x amp;amp; nexthead-gt;y== food-gt;y) { //Si el siguiente tiene comida //\x0d\nexthead-gt;next=head;\x0d\head=nexthead;\x0d\q=head;\x0d\ while(q!=NULL ) {\x0d\Pos(q-gt; x, q-gt;y);\x0d\printf("■");\x0d\q=q-gt;next;\x0d\}\x0d\score= puntuación agregar;\x0d\createfood();\ x0d\} else { //Si no hay comida//\x0d\nexthead-gt; next=head; \x0d\ while(q-gt; next-gt; next!=NULL) {\x0d\Pos(q-gt;x,q-gt;y);\x0d\printf("■");\x0d\ q=q-gt;siguiente;\x0d\}\ x0d\Pos(q-gt; siguiente-gt; x, q-gt; siguiente-gt; y); \x0d\printf(" "); free(q-gt; siguiente); \x0d\q -gt;next=NULL;\x0d\}\x0d\}\x0d\if(status==D) {\x0d\nexthead-gt;x=head- gt;x;\x0d\nexthead-gt;y= head-gt;y 1;\x0d\if(nexthead-gt;x==comida-gt;x amp;amp; nexthead-gt;y==comida- gt;y) { //Hay comida\x0d\nexthead -gt;next=head;\x0d\head=nexthead;\x0d\q=head;\x0d\ while(q!=NULL) {\x0d\Pos (q-gt;x,q-gt;y); \x0d\printf("■");\x0d\q=q-gt;nexo

t;\x0d\}\x0d\score=score add;\x0d\createfood();\x0d\} else { //Sin comida\x0d\nexthead-gt; next=head;\x0d\head=nexthead;\ x0d\q=cabeza;\x0d\ while(q-gt;next-gt;next!=NULL) {\x0d\Pos(q-gt;x,q-gt;y);\x0d\printf("■ ");\x0d\q=q-gt;siguiente;\x0d\}\x0d\Pos(q-gt;siguiente-gt;x,q-gt;siguiente-gt;y);\x0d\printf(" ");\x0d\free(q-gt;next);\x0d\q-gt;next=NULL;\x0d\}\x0d\}\x0d\if(status==L) {\x0d\nexthead- gt;x=head-gt;x-2;\x0d\nexthead-gt;y=head-gt;y;\x0d\if(nexthead-gt; gt;y==comida-gt;y) { // Hay comida\x0d\nexthead-gt;next=head;\x0d\head=nexthead;\x0d\q=head;\x0d\ while(q!=NULL ) {\x0d\Pos(q-gt;x, q-gt;y);\x0d\printf("■");\x0d\q=q-gt;next;\x0d\}\x0d\score= puntaje agregado;\x0d\createfood();\x0d\ } else { //Sin comida\x0d\nexthead-gt; next=head;\x0d\head=nexthead;\x0d\q=head;\x0d\ while( q-gt; next-gt; next!=NULL) {\x0d\Pos(q-gt; x, q-gt; y); \x0d\printf("■"); \x0d\q=q-gt ;siguiente;\x0d\}\x0d\Pos(q -gt;siguiente-gt;x,q-gt;siguiente-gt;y);\x0d\printf(" ");\x0d\free(q-gt ;siguiente);\x0d\q-gt;siguiente= NULL;\x0d\}\x0d\}\x0d\if(status==R) {\x0d\nexthead-gt;x=head-gt;x 2; \x0d\nexthead-gt;y=head-gt; y;\x0d\if(nexthead-gt;x==food-gt;x amp;amp; nexthead-gt;y==food-gt;y) { //Hay comida\x0d\nexthead-gt; =cabeza;\x0d\head=siguientecabeza;\x0d\q=cabeza;\x0d\ while(q!=NULL) {\x0d\Pos(q-gt;x , q-gt;y);\x0d\printf ("■");\x0d\q=q-gt;next;\x0d\}\x0d\score=score add;\x0d\createfood();\x0d \} else {

//No hay comida\x0d\nexthead-gt; next=head;\x0d\head=nexthead;\x0d\q=head;\x0d\ while(q-gt;next-gt;next!=NULL) {\x0d \Pos(q-gt;x,q-gt;y);\x0d\printf("■");\x0d\q=q-gt;next;\x0d\}\x0d\Pos(q-gt; siguiente-gt; x, q-gt; siguiente-gt; y); \x0d\printf (" "); \x0d\free (q-gt; siguiente); bitself()==1) { //Juzga si se morderá a sí mismo\x0d\endgamestatus=2;\x0d\endgame();\x0d\}\x0d\} \x0d\\x0d\void pause()// Pausa\x0d\{\x0d\ while(1) {\x0d\Sleep(300);\x0d\if(GetAsyncKeyState(VK_SPACE)) {\x0d\break;\ x0d\}\x0d\\x0d\}\x0d \}\x0d\\x0d\void gamecircle()//Controla el juego\x0d\{\x0d\\x0d\Pos(64, 15);\x0d\printf( "No puedo atravesar paredes, no puedo muerdete\n");\x0d\Pos(64, 16);\x0d\printf("Usa ↑.↓.←.→ para controlar el movimiento de la serpiente respectivamente.");\x0d\ Pos(64, 17);\x0d\printf("F1 es aceleración, F2 es desaceleración\n");\x0d\Pos(64, 18);\x0d\printf("ESC: Salir del juego.space: Pausar el juego." );\x0d\Pos(64, 20);\x0d\//\x0d\status=R;\x0d\ while(1) {\x0d\Pos(64, 10);\x0d\printf(" Puntuación: d ", puntuación);\x0d\Pos(64, 11);\x0d\printf("Cada alimento puntúa: d puntos", agregar);\x0d\if(GetAsyncKeyState(VK_UP) amp; amp; status !=D ) {\x0d\status=U;\x0d\} else if(GetAsyncKeyState(VK_DOWN) amp; amp; status!=U) {\x0d\status=D;\x0d\} else if(GetAsyncKeyState(VK_LEFT )amp; amp; estado!=R) {\x0d\status=L;\x0d\} else if(GetAsyncKeyState(VK_RIGHT)amp;amp; status!=L) {\x0d\status=R;\x0d\} else if( GetAsyncKeyState(VK_SPACE)) {\x0d\pause();\x0d\} else if(GetAsyncKeyState(VK_ESCAPE)) {\x0d\endgamestatus=3;\x0d\break;\x0d\} else if(GetAsyncKeyState( VK_F1)) {\x0d\if(horadedormir;=50) {\x0d\horadedormir=hora de dormir

-30;\x0d\add=add 2;\x0d\if(sleeptime==320) {\x0d\add=2; //Es incorrecto evitar volver a agregar después de reducir a 1\x0d\}\x0d\} \ x0d\} else if(GetAsyncKeyState(VK_F2)) {\x0d\if(hora de dormir