c++_ 贪吃蛇_蛇尾坐标记录问题
思路:利用双指针,把蛇尾的状态数组向后移动1位。
int prevX = tailX[0];
int prevY = tailY[0];//之前的蛇头坐标给prevX,prevY
int prev2X, prev2Y;
tailX[0] = x;
tailY[0] = y;//更新蛇头坐标
for (int i = 1;i<nTail;i++)
{
prev2X = tailX[i];
prev2Y = tailY[i];//prev2指向数组的下一个位置(向后移动)
tailX[i] = prevX;
tailY[i] = prevY;//prev的坐标赋给prev2指向的数组中的位置
prevX = prev2X;
prevY = prev2Y;//prev向后移动
}
解释:nTail记录蛇的总长度, tailX[]和tailY[]分别记录蛇尾的位置坐标
关键问题就是如何记录设为坐标?
总的思路:利用双指针,指针2记录位置2的值,指针1把位置1的值放到位置2,指针1、2后移...
简介思路:指针2取y值,指针1取x值-放x值到y,指针2把y值给x-取下一个值y...循环
定义prevX,prevY记录当前蛇头的位置
定义prev2X,prev2Y指向数组下个位置
标签:记录,int,蛇尾,c++,贪吃蛇,坐标,指针
From: https://www.cnblogs.com/espgod/p/17542532.html