二、个人负责模块或任务说明
游戏主体:初始化游戏,设置游戏信息、退出游戏。
音效:背景音乐,吃到食物时的音效。
三、自己的代码提交记录截图
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117131339307-806788611.png)
四、自己负责模块或任务详细说明
1)游戏主体
a.主界面
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117131705220-922203081.png)
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117131722674-46094916.png)
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117131734088-576827422.png)
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117131743888-1902677035.png)
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117131814569-572898185.png)
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117131831025-387536351.png)
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117131843047-623518924.png)
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117131856030-1795459973.png)
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117132310487-1251019650.png)
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117132322640-1596109653.png)
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117132338446-853997979.png)
代码分析:
●Game类:
(1)蛇移动
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117132930858-1884377670.png)
(2)添加身体
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117133037986-397569847.png)
(3)加速
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117133051024-446272349.png)
(4)是否撞墙
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117133104967-810345253.png)
(5)蛇身缩短:
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117133120059-886438707.png)
(6)设置全局字体
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117133134550-1093713155.png)
(7)游戏结束
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117133148240-503407464.png)
●Draw类:用于绘制蛇身和主界面
(1)绘制蛇身
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117133255561-58721061.png)
(2)绘制食物
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117133314542-1255606878.png)
食物闪烁
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117133329711-1386857052.png)
(3)绘制分数
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117133344446-1236664379.png)
b.配置文件
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117133454725-1067661024.png)
(1)获取配置文件信息
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117133512227-414408854.png)
(2)更新配置文件信息
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117133534718-680533744.png)
2)音效
Music类:
播放音乐
![](https://img2018.cnblogs.com/blog/1236359/201901/1236359-20190117133617924-1368712509.png)
五、课程设计感想
我们这次课程设计的题目是java实现贪吃蛇小游戏,在这次课程设计的过程中,我学到了很多。打代码的过程中,我遇到了很多困难,有很多不会的知识点,但通过不断的摸索,解决了大部分问题,也对之前不会的知识点有了很大的理解。
在做菜单界面设计的过程中,起初实现的菜单功能选项太少,在有了更多的想法并且与小组成员的一番讨论后,增加了一些其他功能,比如添加背景音乐,背景颜色切换,游戏模式切换等;菜单虽然设计实现比较简单,但是在实际操作过程中,我发现真正实现菜单需要先进性周密的思考;做好总体规划后才能运用实施,期间要运用到比较多的事件监听机制。
虽然自己现在的编程水平仍不是很高,但是我相信只要自己在今后的时间里能够认真学习编程,并培养对编程的兴趣,以后肯定会编出更好的程序。