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,指针12后移...
    简介思路:指针2取y值,指针1取x值-放x值到y,指针2把y值给x-取下一个值y...循环
    定义prevX,prevY记录当前蛇头的位置
    定义prev2X,prev2Y指向数组下个位置
posted @   Espre-sso  阅读(51)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示