C++_ 贪吃蛇游戏_蛇尾坐标记录问题_已解决
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指向数组下个位置
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了