Linux平台下基于JAVA小游戏设计文档.docx
《Linux平台下基于JAVA小游戏设计文档.docx》由会员分享,可在线阅读,更多相关《Linux平台下基于JAVA小游戏设计文档.docx(11页珍藏版)》请在冰豆网上搜索。
Linux平台下基于JAVA小游戏设计文档
Linux课程设计报告
课题名称:
《Linux平台下基于java小游戏设计》
专业:
2011级计算机科学与技术
组长:
043佘清泉
组员:
007陈威达008陈学仁026赖华标027兰荣辉
指导老师:
林晖
日期:
2014年10月27日
§1、引言
1.1编写目的
扫雷是一款经典的单人计算机游戏。
其规则简单,上手容易,不论男女老少皆可娱乐。
游戏的用户界面由在量小方格组成的战场构成。
当游戏开始时,计算机将固定的地雷数随机的放到战场的方格。
此游戏还允许玩家指定战场中的地雷数以及战场大小。
§2、作品概述
2.1说明
a.软件名称:
winmine
b.项目开发者:
计算机科学与技术专业——Knight-Team
c.用户:
所有扫雷游戏爱好者
2.2产品
采用JAVA语言编写,是可运行在Linux系统平台上的应用程序。
2.3验收标准
完成了所有文档的书写,程序通过编译并可以运行,程序达到预期的运行效果。
§3、可行性研究报告
3.1技术可行性分析
本程序是java平台下的Linux应用程序,总体规模较小适合小团队完成。
开发人员是计算机专业学生,有一定编程基础,有能力完成该程序的设计及开发工作。
3.2时间和资源可行性分析
(1)预算中的人员每天进行至少2小时的开发工作
(2)9月28日——10月1日查找一些相关材料(赖华标,陈学仁,兰荣辉)
10月2日——10月5日Linux系统安装,搭建开发环境(佘清泉)
10月6日——10月9日界面设计,初步实现扫雷功能(陈威达,佘清泉)
10月10日——10月16日菜单设计,添加游戏级别与自定义功能(陈威达,佘清泉)
10月17日——10月18日设计文档编写(待定)
10月19日——10月22日PPT制作(待定)
§4、需求分析
4.1功能需求:
功能
简介
新游戏
重新开始游戏
统计信息
可以查看用户以前的扫雷记录
最佳时间
可以显示最新成绩时间
重置
清空所有记录
选项
选择游戏级别
自定义
可以由用户自定义雷的数量和战场宽高
退出
退出程序
重玩游戏
重新开始并由电脑进行随机布雷
计时
有计时装置,可以自开始扫雷后自动记时
游戏结束提示
在游戏结束时会出现提示对话框,并停止计时
4.2运行环境需求:
运行平台:
Linux系统
4.3硬件需求:
a.处理器型号:
酷睿2代及同等型号以上处理器
b.及内存容量:
512MB以上内存
c.外存容量:
20G以上硬盘空间
d.联机或脱机:
脱机
e.输入及输出设备的型号和数量:
鼠标、彩色显示器
4.4软件需求:
Linuxversion3.5.0-17-generic
JDK:
1.8.0_20
开发工具:
Eclipse—Version:
LunaRelease(4.4.0)
4.5控制需求:
使用全鼠标控制
4.6文件输入输出需求:
程序使用.txt类型文件存储游戏信息。
§5、详细设计
5.1设计思想:
我们可以把整个雷区看成一个二维数组.首先我们在雷区上随机地放上雷,这可以用random类来实现。
当没有雷的地方被点击后就会显示一个数字表示它周围有几个雷,要实现这个功能,,如雷区a[i][j]:
a[1][1]a[1][2]a[1][3]a[1][4]a[1][5]a[1][6]a[1][7]a[1][8]
a[2][1]a[2][2]a[2][3]a[2][4]a[2][5]a[2][6]a[2][7]a[2][8]
a[3][1]a[3][2]a[3][3]a[3][4]a[3][5]a[3][6]a[3][7]a[3][8]
a[4][1]a[4][2]a[4][3]a[4][4]a[4][5]a[4][6]a[4][7]a[4][8]
a[5][1]a[5][2]a[5][3]a[5][4]a[5][5]a[5][6]a[5][7]a[5][8]
我们可以发现a[i][j]周围存在着如下关系:
a[i-1][j-1]a[i-1][j]a[i-1][j+1]
a[i][j-1]a[i][j]a[i][j+1]
a[i+1][j-1]a[i+1][j]a[i+1][j+1]
于是,可以从a[i][j]的左上角顺时针开始检测。
当然,如果超出边界,要用约束条件再加以判断!
扫雷程序还会自动展开已确定没有雷的雷区。
如果a[3][4]周围雷数为1,a[2][3]已被标示为地雷,那么a[2][4],a[2][5],a[3][3],a[3][5],a[4][3],a[4][4],a[4][5]将被展开,一直波及到不可确定的雷区。
这也是实现的关键!
我们可以把数组的元素设定为一个类对象(类中定义:
第几号方块,周围雷数,是否为雷,是否被点击,探雷标记,是否点击右键),它们所属的类设定这样的一个事件:
在被展开时,检查周围的雷数是否与周围标示出来的雷数相等,如果相等则展开周围未标示的雷区。
这样新的雷区展开又触发这个事件,就这样递归下去,一直蔓延到不可展开的雷区。
5.2游戏流程:
5.3类设计
在设计扫雷游戏时,编写了5个源文件:
Button.java,Custom.java,Information.java,MainScreen.java,MyButton.java,除了这5个源文件外,还需要Java系统提供一些重要的类,如File,JButton和JLabel等类。
类的名称
父类名称
类的功能
Button
MyButton
雷区战场的设置
Custom
JDialog
自定义雷区的设置
Information
JDialog
记录各级别最佳成绩并显示
MainScreen
JFrame
游戏主界面设置
MyButton
JPanel
初始化按钮
5.4UML图
§6、界面设计
初级
中级
高级
排行榜
选项
§7、总结
1、我们遇到的问题及解决办法:
1有时会出现空指针错误,一些参数的传值不正确导致。
通过debug调试解决了问题。
②刚开始对线程比较陌生,没有处理好,导致有些按钮功能失效。
后来网上查找资料一些资料解决。
由于粗心问题也照成不少小错误,不过在同学和组员的共同努力下最终完成。
2、有何收获
我们课程设计选这个题目原因是对这款游戏的操作以及玩法度比较了解,所以做起来比较容易点,扫雷游戏是一款智力游戏,这款游戏将一定的地雷分布在小格子里,最终胜利是玩家将所有的地雷都找出。
Java是我们这个学期新学的语言,通过这个课程设计,我们对以前学的知识有了更深一步的了解,这次设计的时间有限,所以我们做了一个自己比较喜欢的小游戏,刚开始做时,虽然知道主要思想但把它要表示出来真的很不容易,通过查资料,请教同学,上网,经过这段时间的努力,我们终于做出了这款游戏,虽然还有很多不足,但做出来后还是很开心的,测试这个游戏的功能时,感觉很不错,总的来说这次的设计还是很成功的!
§8、参考文献
[1]《Java程序设计教程》第二版主编:
雍俊海清华大学出版社
[2]《软件工程导论》第五版主编:
张海藩清华大学出版社
[3]《Java程序设计实验指导与案例习题解答》主编:
刘宝林清华大学出版社
[4]《Java程序设计案例教程》主编:
刘志都、赵建超武汉大学出版社
[5]《Java编程基础、实力与进阶》主编:
王勇、代桂平、方娟、毛国君清华大学出版社
[6]《Java程序设计》主编:
周晓媛、张晓燕西安科技大学
[7]《Java程序设计教程》第六版主编:
JohnLewis、WilliamLoftus电子工业出