c语言snake代码,用于注释

void main()

{

int a[30][30]= { 0 };/*首先声明一个30*30的数组来存储屏幕上蛇和食物的分布*/

int i,j,t,flag = 0;

char c='d ',c 1 = ' d ';

struct Food food={10,16,' A ' };/*初始化一个food对象,位置是10和16,它的另一个参数是' A'*/

int game over = 0;/*将游戏状态切换到正常*/

结构节点*head,*p,*rear,* pt/*head存储蛇的头部,pt用于临时遍历蛇的每一段,rear用于存储蛇的尾部(但是你截取的代码并没有使用尾部信息的值,P是添加或删除节点时使用的临时变量)*/

head=(结构节点*)malloc(sizeof(结构节点));/*为snakes分配内存空间*/

head->;x = 10;/*黑鱼的X值是10*/

head->;y = 16;/*以同样的方式*/

head->;pre = NULL/*蛇头前面没有节点*/

head->;next = NULL/*蛇头后面没有节点(一个空大头)*/

后方=头部;/*所以~蛇的屁股就是它的头...*/

srand((无符号)时间(空));/*初始化随机数生成器,使程序每次执行时生成的随机数序列不同*/

while(1)

{

if(food . x = = head-& gt;x & amp& ampfood . y = = head-& gt;Y)/*如果蛇头碰到食物*/

{

p=(结构节点*)malloc(sizeof(结构节点));/*创建新节点并分配空间*/

pt =头;/*pt指向蛇头,准备穿越*/

while(pt-& gt;下一个!=NULL)/*只要pt指向的节点后面有一个节点,就不遍历到snake */

pt = pt-& gt;接下来;/*pt指向下一个节点*/

p->;pre = pt/*新节点的最后一个节点是尾巴(此时pt已经指向蛇的尾巴)*/

pt-& gt;next = p;/* snake的下一个节点成为新节点,链表链接在一起*/

p->;next = NULL/*新节点的下一个节点设置为none,即下一次遍历,它默认为tail */

后方= p;/*蜗牛成为新节点*/

food . x = rand()% 15;/*初始化下一个食物位置(0-14,0-14) */

food . y = rand()% 15;

food . c = 65+rand()% 26;/* food的另一个参数随机赋给一个英文字母*/

flag = 1;/*将标志改为1,标志的作用在这段截断的代码中是未知的,下同*/

t = 0;