java课程设计贪吃蛇游戏文档Word格式.docx
《java课程设计贪吃蛇游戏文档Word格式.docx》由会员分享,可在线阅读,更多相关《java课程设计贪吃蛇游戏文档Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
5.参考资料16
6.源程序代码16
7.成绩17
1、课程设计任务及要求
1.1题目
贪吃蛇游戏
1.2目的
a)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握
b)掌握java程序设计的思想、流程,企业要求代码规范性及在项目中的应用
c)加强理论知识和实际应用的结合应用,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力
d)培养学生在项目开发中团队合作精神,表达沟通、创新意识能力
e)提高学生的科技论文写作能力
1.3基本任务
a)能在游戏面板中出现蛇和食物
b)能通过键盘的上下左右键来控制蛇的移动
c)蛇能够吃掉游戏面板中的食物,同时再随机出现另外一个食物
d)蛇在碰到游戏面板的边缘时,游戏结束
e)蛇在碰到自身时,游戏结束
1.4要求
a)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;
可以加以其他功能或修饰,使程序更加完善、合理
b)系统设计要实用,编程简练、规范,可用,功能全面
c)说明书、流程图要清楚,有解决问题办法总结
d)要求上机调试通过
e)设计上交内容:
设计报告,源程序文件,可执行文件
1.5进度安排
2011年12月17日至2011年12月21日共5天
工作分项
12月
17日
18日
19日
20日
21日
六
日
一
二
三
理论课
需求分析
需求评审
编码
设计报告撰写
答辩
1.6地点
综合楼701,主楼6楼计算机软件实验分室
2.需求分析
2.1项目概述
本项目是开发贪吃蛇游戏,它是一个老少皆宜雅俗共赏的益智类游戏,通过按键控制蛇的移动来吃食物,适于用户在空暇时刻放松身心休闲娱乐。
2.2功能需求
本项目主要功能有
1.选关:
选择游戏难度级别,难度级别有低级、中等和高级三种模式。
2.游戏:
主要实现游戏的开始、暂停、继续、结束等功能,
游戏开始,在游戏面板中出现蛇和食物,通过键盘的上下左右键来控制蛇的移动,并且蛇能够吃掉游戏面板中的食物,同时再随机出现另外一个食物,蛇每吃掉一个食物后,长度增1,而蛇在碰到游戏面板的边缘时,游戏结束,蛇在碰到自身时,游戏结束;
但是如果蛇吃了穿身,穿墙宝贝的食物,蛇就具有了特殊功能,可以实现穿身,穿墙,具有根据所选择的难度,蛇的移动速度有低、中、高3种;
游戏中可以随时暂停、继续、结束游戏,蛇的开始、暂停、继续、结束都是通过按钮来控制。
3.帮助:
显示游戏操作说明。
4.退出:
退出游戏。
2.3其它需求
1.相关数据:
蛇的初始方向为:
向右
蛇的初始位置为:
左上角
蛇的初始长度为:
3格,每格的宽度为:
0.5cm高度为:
0.3cm
蛇的单步距离为:
1格,初始难度为低。
2.游戏界面应该力求友好、美观、操作简单。
3、系统设计
3.1总体设计
贪吃蛇游戏包含七个类:
MainFram类,myActionListene与myKeyListener类,Mysnake类,SnakeBody类,Snake类,WindowButton类。
MainFram类
myActionListener与
myKeyListener类
Mysnake类
主窗体类,实现游戏的主要功能,包括游戏区功能,游戏控制和初始游戏级别设置模块功能。
其中有myActionListener类,KeyListener类,Mysnake类对象成员。
处理用户单击游戏开始按钮事件,暂停按钮事件,帮助按钮事件,结束按钮事件,完成功能。
游戏的主体线程,负责游戏的动态过程。
SnakeBody类
Snake类
WindowButton类
定义蛇身的各种属性和运动功能,其中有
SnakeBody构造方法和move方法
负责蛇游戏应用程序的主类,负责启动游戏程序。
主类用于用户登陆界面的设置,用户通过身份验证进入游戏,也可打开背景声音,调用了Snake类,实现了与游戏界面的联系。
3.2类的设计
1.主类WindowButton
(1)成员变量
表3-1主要成员变量(属性)
名称
变量类型
成员变量描述
URL
Static
统一字符定位符
AudioClip
用于播放音频的简单抽象
backpic
JLabel
图片
imageicon
ImageIcon
用于绘制图片的类
icon
Icon
图标
button
JButton
系统工具栏上的游戏开始按钮
button1
Button
系统工具栏上的游戏登录按钮
button2
系统工具栏上的游戏取消按钮
提示条1
Label
用户登录信息标签
提示条2
提示条3
Text1
TextField
用户登录信息文本框
Text2
(2)方法
表3-2主要方法
方法名称
返回类型
功能
备注
WindowButton
空类型
处理用户登陆界面
构造方法
actionPerformed
void型
处理响应事件
继承自父类抽象方法
Main
执行程序
程序的主函数
Sound
处理声音事件
实现声音的方法
2.MainFram类
表3-3主要成员变量(属性)
serialVisionUID
序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性.
biginpause
stophelp
游戏控制按钮
contPane
JPanel
控制面板
gameArea
区域
ROWSCOLSUP
DOWNLEFTRIGHT
LOWMIDHIGH
Int
键盘控制蛇身运动方向
EndPause
boolean
结束暂停按钮
score
int
分数统计
level
级别
centerbuttomtop
游戏区面板
g
ButtonGroup
按钮组
r1r2r3
JradioButton
thread
Mysnake
线程
snake
Snakebody
蛇身
t1t2t3
文本区
表3-4主要方法
Start
初始化
设置游戏开始方法
MainFrame
主窗口
windowClosing
处理窗口关闭
窗口关闭方法
SnakeBody
设置蛇身
实现蛇身方法
move
控制蛇移动
实现蛇移动方法
3.myActionListener类
(1)方法
表3-5主要方法
actionperformed
实现暂停,继续处理时间,控制游戏的速度
4.myKeyListener类
表3-6主要方法
keyPressed
控制蛇头的方向
keyTyped
空方法
5.Mysnake类
表3-7主要方法
run
让蛇动起来
run的实现
6.SnakeBody类
表3-8主要成员变量(属性)
len;
当前蛇身长度
rows
蛇身各个组成方块的行号
column
蛇身各个组成方块的列号
direction
蛇身当前运动方向
lastdir
蛇身在改变运动方向前的运动方向
speed
long
蛇身运动速度
throughbody
当前获得穿身宝物个数
throughwall
throughwall当前获得穿墙宝物个数
表3-9主要方法
控制蛇身移动
键盘控制
控制方向
7.Snake类
表3-10主要成员变量(属性)
ScreenWidth
屏幕宽度
ScreenHeight
屏幕高度
FrameWidth
对话框宽度
FrameWHeight
对话框高度
表3-11主要方法
Sanke
创建对象及设置屏幕大小
3.3界面设计
1)用户登录界面
图1用户登录界面
2)游戏开始界面:
图2游戏开始界面
3)游戏运行界面:
图3游戏运行界面
4)帮助界面:
图4帮助界面
5)遇到穿身、穿墙宝贝界面:
图5穿身、穿墙宝贝界面
6)吃到食物界面
图6吃到食物界面
7)游戏结束界面
图7游戏结束界面
8)过关界面
图8过关界面
9)退出游戏界面
图9退出游戏界面
3.4处理流程
是否
否
是
图11系统主体流程处理图
4、设计体会与小结
5.参考资料
[1]耿祥义,张跃平.Java2实用教程(第三版)[M].北京:
清华大学出版社,2006
6.源程序代码
本项目共有3个程序文件和7个资源文件,文件列表如下:
1.程序文件
MainFrame.java,Snake.java,WindowButton.java
2.资源文件
2.jpg,3.jpg,4.jpg,5.jpg,6.jpg,7.jpg
3.WAV
7.成绩