|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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);
- }
- }
复制代码 |
|