本程序的主要实现如下功能:1.小蛇在屏幕上不停的游走;2.用键盘方向键可控制小蛇的移动方向;3.吃过一个苹果后小蛇长度增加并随机产生另一个蛋;4.小蛇碰到四壁或者碰到自己的身体时游戏结束并给出得分和提示是否继续;5.游戏可以有多种难度选择等。
向按坐标系中坐标轴的方向分为“0-right”、“2-up”、“4-left”和“6-down”四个方向。在方向控制程序中运用了一个while循环、事件结构和条件结构。运用事件结构是因为需要运用事件结构中事件数据节点的“V键”节点来控制方向的改变,而事件结构是与while循环配套使用的。运用条件结构是便于不同方向键按下时激活不同的条件状态控制蛇的移动。
下面仅就“down键”来说明我的思路。当按下“down键”时,把当前的方向值X与下方向值6做比较,如果结果为“true”时输出方向为“down”,如果结果为“false”时输出方向为“down”,即强制性的向下移动。其他方向上的控制跟“down”方向的控制相同,中心思想是强制性实施动作。
2.添加了“游戏暂停”按钮
我觉得在原程序中没有暂停按钮是一个很大的缺憾,假设发生这种情况即用户使用这个程序的过程中可能会有急事需要离开可是又不想结束掉
正在运行的程序,这样的设计就不够人性化。如果添加一个“暂停”
按钮这个问题就可以迎刃而解了。为此我在“运动循环”中添加了一
个“暂停”按钮。即在一个while循环中添加一个“等待下一个整数
倍毫秒”来控制等待时间,一个“非”来激活命令。程序框图见图:
四、程序存在的一些不足
(一)、可能是时间太过仓促,本程序在设计上存在一些不足。我把自己看到的一些不足列举如下:
1.程序初始化时蛇身过长。虽说在设计程序时有专门控制蛇身长度的控件,可是在修改初始化时蛇身长度的数值后蛇身的长度依然没有太多的变化。