代码改变世界

结对-贪吃蛇游戏-结对项目总结

2017-11-03 13:29  回忆丶  阅读(842)  评论(0编辑  收藏  举报

一、系统功能说明

贪食蛇游戏是一个深受人们喜爱的游戏:一条蛇在密闭的围墙内,在围墙内出现食物,通过按键控制蛇向上下左右四个方向移动,蛇撞到食物,则食物被吃掉,蛇的身体增加一节。如果蛇在移动的过程中,撞到墙壁或身体的交叉(蛇头撞到自己的身体)游戏结束。现要求利用python来实现该游戏。


二、基本功能
1.
提供一个图形模式下的界面。
2.

支持用键盘的方向键来控制蛇的移动,蛇可以向上、下、左、右四个方向移动。

3.

当蛇头碰到食物时,食物被吃掉,蛇的身体增长一节。
4.

初始场景内随即出现1个食物,当食物被吃掉时,再随机出现一个食物。
5.

要有记分机制,没吃掉一个食物,增加相应的分数。

6.

蛇碰到墙壁或是自己身体的一部分则游戏结束。

三、源代码

 

 

 

 

 

 

四、效果

 

 

五、不足之处

1.没有加添背景、吃食物、游戏结束的音效

2.未设置食物随机生成的位置与蛇身体冲突重新生成

3.没设置中途暂停

六、经验教训

本次项目的开发对键盘事件和鼠标点击事件的监听有了更深的了解。在设计过程中,

遇到的最大问题是:系统设计了快捷键和鼠标点击事件,添加快捷键监听事件和鼠标监

听事件后,程序运行时,每次按快捷键后就不能响应鼠标事件,开始点击鼠标后就不能

响应按键事件,原因在于,如果开始运行后按快捷键则监听事件的焦点在按键上,所以

不能响应鼠标点击事件。如果开始运行后点击鼠标则监听事件的焦点在鼠标上,所以不

能响应快捷键按键事件。解决的方法是为每个鼠标监听事件添加按键监听事件。

 

七、总结

通过这次编程,让我学到了许多编程知识,我发现仅仅运用课上所学无法编实际问题,实际执行过程与预想不一致,偶尔会出现bug。很考验我的逻辑与耐心,在编程中我学到了许多编程知识,学会了许多的调试程序的方法,在实际编程中,我遇到许多困难,例如:蛇的头部与食物的检测问题,蛇的移动与显示问题,蛇的转向问题,食物的随机生成问题等等,我通过在网上搜集资料与自己的分析,终于从最初的一头雾水理出一丝头绪,最终终于完成了这个游戏,使我对编程产生了强烈的兴趣,也是我明白了万事开头难,只要入门,就可以完成许多看似不可能的事。