用Java写贪吃蛇游戏的大致思路是什么?

楼主没有看到蛇运动的本质。蛇虽然分成了很多块,但是它们还是一个整体,每一块的移动都和前一块有关联,所以不需要对每一块进行判断。\x0d\原理:\x0d\把蛇体的每一个块都当作一个对象(对象存储块的坐标和相关信息),作为一个节点存储在线性链表中,然后设置一个变量标记蛇的方向(可以通过按键改变)。大部分人都是让每个节点等于他指向的下一个节点,让头节点改变位置来实现转动和移动。这个算法太复杂了(O(n))。其实只要做两步,插入一个头节点,删除一个尾节点。新插入的头部节点的位置根据蛇当前的方向决定用数组记录蛇头的行为,然后将第二段中的下一个网格设置为蛇头走过的网格。这样蛇走过的所有路径都是上一段的路径,最后它会跟着蛇头走,比如\x0d\蛇身的路径\ x0d \ for(int I = snake length-1;我& gt0;I-){ \ x0d \ rows[I]= rows[I-1];//依次将蛇的上一段赋给蛇的下一段\ x0d \ cols[I]= cols[I-1];//将值赋给snake \ x0d \ } \ x0d \ for(int I = 1;我