马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
就是在转弯的时候,那个蛇头蛇尾的坐标是怎么样的呢?我这个值能向保证蛇在同一行或者同一列中实现,如果不在同一行或者同一列就会出现问题int direction; //控制蛇身的方向,初始化向右
direction = 77;
while(1){
int xHead,yHead; //新的头坐标
int xTail,yTail; //新的尾坐标
long start;
_getch();
direction=_getch();
switch(direction){
case(77): //向右
if(xtail=xhead){
xHead=xhead;yHead=yhead+1;
xTail=xtail;yTail=ytail+1;
}
else{}
break;
case(72):xHead=xhead-1;yHead=yhead; //向上
xTail=xtail-1;yTail=ytail;
break;
case(75):xHead=xhead;yHead=yhead-1; //向左
xTail=xtail;yTail=ytail-1;
break;
case(80):xHead=xhead+1;yHead=yhead; //向下
xTail=xtail+1;yTail=ytail;
}
if(xHead==x1&&yHead==y1){ //吃米 长度加1
chessBoard[xhead][yhead]='*';
chessBoard[xHead][yHead+1]='#';
xhead=xHead;
yhead=yHead;
xtail=xTail;
ytail=yTail;
x1=rand()%40+1; //重新产生*
y1=rand()%20+1;
chessBoard[x1][y1]='*';
showChessBoard(chessBoard);
}
else{ //不吃米
chessBoard[xhead][yhead]='*';
chessBoard[xHead][yHead]='#';
chessBoard[xtail][ytail]=' ';
xhead=xHead;
yhead=yHead;
xtail=xTail;
ytail=yTail;
showChessBoard(chessBoard);
}
}
|