一、 需求分析
i. 随着科技的飞速发展,越来越多的游戏如雨后春笋般出现,对于有选择困难症的怀旧玩家,他们没有很多时间去挑选游戏,这时候就需要一款简单,方便的游戏来娱乐。
ii. 双人模式可满足玩家偶尔想要和朋友一起玩的需求。
iii. 贪吃蛇游戏节奏快,可随时暂停或者继续,有挑战性,可在碎片时间进行游戏。
二、 本组课题及本人任务
1. 本组课题
《贪吃蛇小游戏》
2. 本人任务
GUI界面的设计与优化。
3. Git提交记录
三、 总体设计
1) 功能结构图
2) 面向对象类设计图
四、 本人负责的主要功能展示与代码分析
主要功能展示
主界面
选关界面
设置界面
游戏界面
代码分析
1. 主界面代码
主界面的是先把JFrame设置BorderLayout,然后把JPannel1放CENTER位置,这样就能填满整个JFrame,然后右边按钮部分是JPannel1里面新建一个布局为GridLayout的JPannel2,再在里面添加按钮。
- 2.
按钮图片添加代码
- 3.
返回按钮监听器设置
- 4. 选关界面代码
选关界面也是先一个JPannel1填满JFrame,然后将JPannel1布局设置为GridLayout的4*4网格布局,然后在里面添加关卡按钮
五、 测试、改进与感想
测试
- 1. 选关界面修改前
- 2. 主界面修改前
- 3. 按钮边角修改前
改进
- 1. 选关界面修改后(新建一个大的JPannel1放在BorderLayout布局的JFrame的CENTER,然后在Jpannel1里面建一个GridLayout用来布置按钮。这样就能使得背景图片充满窗体了)
- 2. 主界面修改后(将JPannel2的背景设置为了NULL,这样就不会挡住JPannel1的背景图片了)
- 3. 按钮图片修改后(把按钮的边框和填充都去除了,剩下一个图片)
感想
1)
本次课程设计与以往的单人式的课程设计不同,为团队模式,这更加考验队员之间的团结协作能力,好在我们队员之间提前沟通,相互帮助,不懂的地方互相请教,共同进步,最终完成了课程设计。
2)
在本次课程设计中,我大多数设计在Netbeans8.2上完成,但是许多部分到了Idea软件里面出现各种没设置到的部分,如按钮图片添加问题,JPannel背景透明问题,按钮填充和边框等等问题,之后通过手动添加代码,一一解决了,通过这种方式解决问题锻炼了我独立解决问题的能了,加深了我对java语言的理解,对于GUI设计也更加熟练了。
3)本次课程设计还有一些遗憾的地方,比如本来做想让鼠标移到按钮上面,按钮变大的效果,但是没有搜索到相关内容,感觉可能是我的描述不够清楚的原因。
六、 附录
见小组报告。