c语言snake代码,用于注释
{
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;