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、判断蛇是否撞到墙 |
|
开始 |
加头不去 |