1、主要的对象
网格(边界)、食物(游戏之一)、蛇(主要对象)、游戏(由网格、食物、蛇组成而有规则的游戏控制)
因为食物是由单位网格(一个网格)以及蛇是由几个网格(蛇身)组成的 所以将一个网格(一个网格的表示不最基本的数据类型表示 所以封装起来能方便使用)封装起来即用节点表示
2、对象的属性和方法
食物 | ||
属性 | 行号 |
|
列号 |
| |
颜色 |
| |
方法 | 初始化 | 随机 在网格中 不能与蛇身重叠 |
绘制 |
|
蛇 | ||
属性 | 蛇身 | 由若干个节点所组成 [1.1][2.1][3.1][4.1][5.1]
|
当前的运动方向 | 用数值表示 | |
蛇身的颜色 |
| |
蛇头的颜色 |
| |
方法 | 初始化 | 随机 在网格中 不能与蛇身重叠 |
绘制 |
| |
自动移动 | 内存中:加头去尾 显示原理:一直移动 重新绘制 | |
改变方向 | 通过键盘 | |
生长 | 加头不去尾 |
网格 | ||
属性 | 行数 | 由若干个节点所组成 [1.1][2.1][3.1][4.1][5.1]
|
列数 | 用数值表示 | |
蛇身的颜色 |
| |
蛇头的颜色 |
| |
方法 | 初始化 | 随机 在网格中 不能与蛇身重叠 |
绘制 |
| |
自动移动 | 内存中:加头去尾 显示原理:一直移动 重新绘制 | |
改变方向 | 通过键盘 | |
生长 | 加头不去尾 |
游戏 | ||
属性 | 蛇 | 由若干个节点所组成 [1.1][2.1][3.1][4.1][5.1]
|
食物 | 用数值表示 | |
网格 |
| |
蛇头的颜色 |
| |
方法 | 初始化 | 随机 在网格中 不能与蛇身重叠 |
暂停 |
| |
继续 | 内存中:加头去尾 显示原理:一直移动 重新绘制 | |
结束 | 1、判断蛇是否撞到墙
| |
开始 | 加头不去 |