void updateWithInput()
{
char input;
if(kbhit())
{
input=getch();
if(input=='a')
{
moveDirection=3;
moveSnakeByDirection();
}
else if(input=='d')
{
moveDirection=4;
moveSnakeByDirection();
}
else if(input=='w')
{
meveDirection=1;
moveSnakeByDirection();
}
else if(input=='s')
{
moveDirection=2;
moveSnakeByDirection();
}
}
}
void moveSnakeByDirection()
{
int i,j;
for(i=1;i<High-1;i++)
for(j=1;j<Width-1;j++)
if(canvas[i][j]>0)
canvas[i][j]++;
int oldTail_i,oldTail_j,oldHead_i,oldHead_j;
int max=0;
for(i=1;i<High-1;i++)
for(j=1;j<Width-1;j++)
if(canvas[i][j]>0)
{
if (max<canvas[i][j])
{
max=canvas[i][j];
oldTail_i=i;
oldTail_j=j;
}
if(canvas[i][j]==2)
{
oldHead_i=i;
oldHead_j=j;
}
}
canvas[oldTail_i][oldTail_j]=0;
int newHead_i,newHead_j;
if(moveDirection==1)
{
newHead=oldHead_i-1;
newHead=oldHead_j;
}
if(moveDirection==2)
{
newHead=oldHead_i+1;
newHead=oldHead_j;
}
if(moveDirection==3)
{
newHead=oldHead_i;
newHead=oldHead_j-1;
}
if(moveDirection==4)
{
newHead=oldHead_i;
newHead=oldHead_j+1;
}
if(canvas[newHead_i][newHead_j]>0 || canvas[newHead_i][newHead_j]==-1)
{
printf("游戏失败!\n";)
exit(0);
}
else
canvas[newHead_i][newHead_j]=1;
}
【无标题】
最新推荐文章于 2024-09-13 17:15:02 发布