实现贪吃蛇游戏的思路:
class Node(i,j) //表示坐标
class Worm(List<Node> nodes) // 行数:10行//用LinkedList存储蛇的坐标点。当前进是用addFirst(Node node)方法添加一个一个坐标点(可以通过getFirst()得到上一个坐标-1得出);然后再删除尾节点。如果碰到食物则不删除尾节点。
// 列数:32列
step()//往前走一步
step(int dir)//根据方向往前走一步
class WormPanel //画板
---HashSet存储食物 //当随机获得食物坐标点的位置时判断它的坐标点是否与蛇身的坐标点重复(如果重复则继续获取随机数,知道不重复位置)。
内部类--Worm(LinkedList)
i j
j UP -1 001234567890123456789012345678901 DOWN 1 0
i 0-------------------------------- LEFT 0-1
1| O | RIGHT 0 1
2| ^ | 2,9
3| <-#-> |3,8 3,9 3,10
4| # | 4,9
5| ### | 5,9 5,10 5,11
6| # O O |