JAVA贪吃蛇课程设计报告Word下载.docx
- 文档编号:17842386
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:7
- 大小:91.15KB
JAVA贪吃蛇课程设计报告Word下载.docx
《JAVA贪吃蛇课程设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《JAVA贪吃蛇课程设计报告Word下载.docx(7页珍藏版)》请在冰豆网上搜索。
(一)设计目标及完成功能
本软件是针对贪吃蛇小游戏的JAVA程序,利用上、下、左、右方向键来改变蛇的运动方向,长按某个方向键后,蛇的运动速度会加快,在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常进行游戏,在到达固定的分数后,游戏速度会加快。
1.窗口功能说明:
设计了三个窗口,分别是游戏主窗口,成绩窗口,游戏帮助和关于作者窗口。
2.菜单栏分别为:
游戏菜单和帮助菜单
其中,游戏菜单包括开始游戏和退出游戏两项;
帮助菜单包括游戏帮助和关于作者两项。
(二)系统结构设计
图1-1系统结构图
二、详细设计
(一)界面设计
贪吃蛇游戏的基本运行界面
(1)生成初始界面:
图2-1初始界面
(2)游戏菜单栏:
图2-2游戏菜单
(2)积分排行菜单栏:
图2-3积分排行菜单
(3)进行游戏界面:
点击“游戏”,进入游戏菜单,选择“开始游戏”,或者使用快捷键“Ctrl+O”来开始游戏。
红色为贪吃蛇的身体部分,黑色方块为食物。
得分后,分数和得到食物数在左上角处实时显示。
图2-4进行游戏
(5)游戏结束界面:
当蛇撞到墙壁或者自身的时候游戏结束。
图2-5游戏结束界面
(二)系统设计
表2-1主要事件监听接口
事件监听器接口
接口中的方法
所处理的事件
ItemListener
ItemEvente
ItemEvent
ActionLisenter
actionPerformed(ActionEvente)
ActionEvent
表2-2主要成员变量
成员变量描述
变量类型
名称
蛇类对象
PrivateThreadshe
She
绘制面板
paint(Graphicsg)
g
菜单条
newJMenuBar
menuBar
游戏菜单
JMenu
youXiMenu
开始游戏菜单项
JMenuItem
kaiShiYouXi
退出游戏菜单项
exitItem
积分排行菜单
fenShuMenu
最高纪录菜单项
fenShuItem
帮助菜单
guanYuMenu
游戏帮助菜单项
youXibangzuItem
关于作者菜单项
zuoZheItem
表2-3主要方法
方法名
功能
getContentPane()
创建蛇的面板
addKeyListener
监视器
JMenu()
创建菜单
构造菜单项
setBounds()
设置尺寸
run()
蛇的运动状态
check()
检查状态
isDead()
判断游戏是否结束
reform()
蛇吃到食物后增加方法
upgrowth()
生成食物的方法
keyPressed()
按键方向的定义
(三)关键技术及算法
程序关键在于表示蛇的图形及蛇的移动。
用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。
移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。
食物的出现与消失也是画矩形块和覆盖矩形块。
为了便于理解,定义两个结构体:
食物与蛇。
当到达一定分数后蛇的运动速度将加快。
记分排行的功能是将得分最高的玩家信息储存,其余玩家的信息将被删除。
得分和食物数将在窗口中实时显示。
四、测试
测试内容:
本系统测试的主要内容为功能测试,界面测试。
详细的说,是对游戏的开始新游戏、退出、查看最高成绩、计时、统计分数等功能进行测试,并测试程序的鼠标点击事件、菜单的响应及按键响应等事件。
测试结果:
能正确实现功能要求。
要求输出的效果与预期的输出效果完全一致。
五、安装使用说明
系统配置说明
设备:
硬件最低要求:
CPUPentium以上PC服务器。
操纵系统:
支持WindowsXP以上的操作系统。
软件:
JDK1.5;
JCreator4.50Pro
总结(体会)
回顾这个设计过程,我学到了许多书本上没有学到的知识。
通过这次自己制作的软件,丰富了自己的实践技能,扩展了本专业的知识面,使我受益非浅,同时也体验到了搞软件开发的困难度。
在这次设计的同时,我又从中学到了许多东西。
但由于我对这样的软件开发还只是一个开始,了解的不多,这其中或许还有很多的不足,有些模块做得不是很好,界面的设计及整体的布局还比较简单,没有突出特色出来,这也可能是我这个系统的不足之处,在这里也恳请各位老师能够对我的作品指明不足并加以改正。
总之,在这一次的课程设计过程中,我查阅了大量的资料,对Java有了一点初步的认识,对于软件工程这些辅助性的教材也巩固了不少,为我这次的课设提供了很大的帮助,锻炼了我的能力让我掌握了一门新的程序设计语言:
java语言,系统地学习了数据库方面的知识,并更进一步提高了我在程序设计、调试方面的技巧。
更重要的是,它还让我认识到了自己的不足,在编程方面,我仅仅是刚刚入门而已,以后的道路任重道远,需要我不断的丰富自己、充实自己,这样才能在程序设计方面有所收获。
参考文献
[1]沈泽刚,秦玉平.Java语言程序设计[M].清华大学出版社,2009
[2]陈昊鹏[同译者作品].Java编程思想(第4版).机械工业出版社,2007
[3]耿祥义,张跃平.Java实用教程(第三版).清华大学出版社,2006
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 贪吃 课程设计 报告