food_y = rand()%(High-5)+2;
canvas[food_x][food_y]=-2;
//原来的蛇尾留着,长度自动加一
}
else//否则原来的旧蛇尾减掉,保持长度不变
canvas[oldTail_i][oldTail_j]=0;
//是否小蛇和自身撞,或者和边框撞,游戏失败
if(canvas[newHead_i][newHead_j]>0||canvas[newHead_i][newHead_j]==-1)
{
printf("游戏失败!\n");
Sleep(2000);
system("pause");
exit(0);
}
else
canvas[newHead_i][newHead_j]=1;
}
void startup()//数据初始化
{
int i.j;
//初始化边框
for(i=0;i<High;i++)
{
canvas[i][j]=-1;
canvas[i][Width-1]=-1;
}
for(j=0;j<Width;j++)
{
canvas[0][j]=-1;
canvas[High-1][j]=-1;
}
//初始化蛇头位置
canvas[High/2][Width/2]=1;
//初始化蛇身,画布中元素值分别为2,3,4,5,...
}
用C语言写贪吃蛇
最新推荐文章于 2024-09-12 09:39:26 发布