标签:运行 es2017 bsp 经验 reader 通过 逻辑 点击事件 移动
一、系统功能说明
贪食蛇游戏是一个深受人们喜爱的游戏:一条蛇在密闭的围墙内,在围墙内出现食物,通过按键控制蛇向上下左右四个方向移动,蛇撞到食物,则食物被吃掉,蛇的身体增加一节。如果蛇在移动的过程中,撞到墙壁或身体的交叉(蛇头撞到自己的身体)游戏结束。现要求利用python来实现该游戏。
二、基本功能
1.
提供一个图形模式下的界面。
2.
支持用键盘的方向键来控制蛇的移动,蛇可以向上、下、左、右四个方向移动。
3.
当蛇头碰到食物时,食物被吃掉,蛇的身体增长一节。
4.
初始场景内随即出现1个食物,当食物被吃掉时,再随机出现一个食物。
5.
要有记分机制,没吃掉一个食物,增加相应的分数。
6.
蛇碰到墙壁或是自己身体的一部分则游戏结束。
三、源代码
四、效果
五、不足之处
1.没有加添背景、吃食物、游戏结束的音效
2.未设置食物随机生成的位置与蛇身体冲突重新生成
3.没设置中途暂停
六、经验教训
本次项目的开发对键盘事件和鼠标点击事件的监听有了更深的了解。在设计过程中,
遇到的最大问题是:系统设计了快捷键和鼠标点击事件,添加快捷键监听事件和鼠标监
听事件后,程序运行时,每次按快捷键后就不能响应鼠标事件,开始点击鼠标后就不能
响应按键事件,原因在于,如果开始运行后按快捷键则监听事件的焦点在按键上,所以
不能响应鼠标点击事件。如果开始运行后点击鼠标则监听事件的焦点在鼠标上,所以不
能响应快捷键按键事件。解决的方法是为每个鼠标监听事件添加按键监听事件。
七、总结
通过这次编程,让我学到了许多编程知识,我发现仅仅运用课上所学无法编实际问题,实际执行过程与预想不一致,偶尔会出现bug。很考验我的逻辑与耐心,在编程中我学到了许多编程知识,学会了许多的调试程序的方法,在实际编程中,我遇到许多困难,例如:蛇的头部与食物的检测问题,蛇的移动与显示问题,蛇的转向问题,食物的随机生成问题等等,我通过在网上搜集资料与自己的分析,终于从最初的一头雾水理出一丝头绪,最终终于完成了这个游戏,使我对编程产生了强烈的兴趣,也是我明白了万事开头难,只要入门,就可以完成许多看似不可能的事。
标签:运行 es2017 bsp 经验 reader 通过 逻辑 点击事件 移动
原文地址:http://www.cnblogs.com/chengshikekaoxiaolangjun/p/7780314.html