Código de serpiente en lenguaje C, por favor comente
void main()
{
int a[30][30]={0};/*Primero declara una matriz de 30*30, Usada para almacenar la distribución de serpientes y comida en la pantalla*/
int i, j, t, flag=0
char c='d', c1='d '; ;
struct Food food={10, 16, 'A'} /*Inicializa un objeto de comida, en la posición 10, 16, su otro parámetro es 'A'*/
int gameover=0; /* Deja que el estado del juego cambie a normal*/
struct Node *head, *p, *rear, *pt /*head almacena la cabeza de la serpiente, pt Usado; para atravesar temporalmente cada sección de la serpiente, la parte trasera se usa para almacenar la cola de la serpiente (pero el código que corta no usa el valor de la información de la cola, p es una variable temporal que se usa al agregar o eliminar nodos) */
head=(struct Node *)malloc(sizeof(struct Node));/*Asignar espacio de memoria a la serpiente*/
head-gt;x=10;/*X el valor de la cabeza de serpiente es 10*/
head-gt; y=16; /*De manera similar*/
head-gt; delante de la cabeza de la serpiente*/
head-gt; next=NULL /*No hay ningún nodo detrás de la cabeza de la serpiente (una cabeza grande vacía)*/
rear= head; /*Entonces ~ el trasero de la serpiente es su cabeza...*/
srand((unsigned)time(NULL));/*Inicializa el generador de números aleatorios para que la secuencia de números aleatorios genere cada el tiempo de ejecución del programa es diferente*/
while(1)
{
if(food.x==head-gt; x amp; amp ; food.y==head-gt; y)/*Si la cabeza de la serpiente toca la comida*/
{
p=(struct Node *)malloc(sizeof(struct Node));/*Crea un nuevo nodo y asigna espacio */
pt=head; /*pt apunta a la cabeza de serpiente, lista para atravesar*/
while( pt-gt; next!=NULL)/*Siempre que pt apunte a Hay nodos después del nodo, es decir, la cola de la serpiente no se atraviesa*/
pt=pt-gt; next; /*pt apunta al siguiente nodo*/
p- gt; pre= pt /*El nodo anterior del nodo recién agregado es la cola (en este momento pt ha apuntado a la serpiente). tail)*/
pt-gt; next = p;/*La parte inferior de la cola de la serpiente Un nodo se convierte en un nuevo nodo y la lista vinculada se vincula entre sí*/
p-gt; next=NULL; /* El siguiente nodo del nuevo nodo se establece en ninguno, es decir, el siguiente Al atravesar una vez, el valor predeterminado es la parte trasera*/
rear=p; *La cola de la serpiente se convierte en un nuevo nodo*/
food.x=rand()15;/* Inicializa la siguiente posición de comida (0-14, 0-14) dentro del rango
*/
food.y=rand()15;
food.c=65 rand()26;/*Otro parámetro de la comida se asigna aleatoriamente a una determinada letra inglesa* /
flag=1; /* Deja que el indicador cambie a 1. La función del indicador se desconoce en este código truncado, lo mismo a continuación */
t=0; /p>