欢迎来到天天文库
浏览记录
ID:13643208
大小:653.50 KB
页数:46页
时间:2018-07-23
《j2me期末疯狂扫雷大学毕业论文.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程设计报告课程名称:移动计算技术与应用设计题目:疯狂扫雷院系:专业: 班 级:学号:姓名:指导教师:设计地点:开课时间:2011至2012学年第2学期常熟理工学院计算机科学与工程学院制学生姓名手写签名 成绩评语:指导教师(签名)年月日目录1.设计目的和任务12.开发环境12.1硬件环境12.2软件环境13.设计课题13.1课题名称13.2课题详细描述13.3功能介绍14.相关技术及知识点25.技术与实现25.1设计与实现描述25.2程序功能实现截图25.3程序实现55.4测试应用程序176.
2、总结177.参考资料1701.设计目的和任务众所周知扫雷游戏是附带在Windows操作系统中的小游戏,它通过点击格子并以出现的数字来判断附近地雷的数量,将全部地雷做上标记即可胜利。我们一般接触的扫雷都是基于PC平台的,现在手机游戏那么普遍,手机版本的扫雷却一直没有得到流行,何不让这款休闲智力游戏在我们手中也能游戏呢?于是我们基于电脑版本的扫雷原理,编写了一款手机版本的扫雷,这就是我们这次项目的目标及任务,手机版本的扫雷玩起来更方便,随时随地都可以扫雷,使得这款游戏不只局限于电脑,这也方便了各位爱
3、好扫雷的玩家们。2.开发环境2.1硬件环境◆装有WindowsXP的计算机一台◆设备齐全的实验室◆用于测试的手机一台2.2软件环境◆操作系统:WindowsXP或Windows7◆开发平台:NetBeansIDE6.5.1或以上版本◆辅助软件:WirelessToolkit2.5.23.设计课题3.1课题名称疯狂扫雷(手机版扫雷游戏)3.2课题详细描述具体的设计思路参照于微软公司所出的PC版本的扫雷,只是我们实现的语言采用了手机易于识别的Java。手机版本的扫雷功能与微软公司所出的电脑版本很相似
4、,这也方便了玩家,不需要在操作习惯上做太大的改变,因此适应性很强。基本功能:点击格子并以出现的数字来判断附近地雷的数量,将全部地雷做上标记即可胜利。其次还可以进行闯关竞技。最后还可以实现雷区的随机分布功能。3.3功能介绍游戏设计为关卡式,每过一关并进入下一关,游戏的难度也会随之加大。点击格子得到数字来判断周围的地雷数,找到所有雷并做上标记(小旗)即胜利(雷区以红色填充格表示)。点击数字“1”标记地雷,数字“3”显示游戏状况,数字“5”确定,点击“0”重新开始游戏或进入下一关。301.相关技术及知
5、识点◆调用paint函数绘制游戏方格◆MIDlet:运用MIDlet应用程序实现入口,控制屏幕和命令◆数组:根据游戏逻辑,产生一个10行10列的二维数组,并与界面的100个位置相对应◆游戏API:运用游戏API中的GameCanvas类扩展MIDPCanvas类,提供游戏的基本接口2.技术与实现5.1设计与实现描述在设计功能时,我们分别用了相应的函数来实现。首先扫雷游戏要有方格,因此必须有一个绘图函数绘出相应的屏幕方格,我们利用了paint函数来实现,在程序中,系统会自动调用该绘图函数,并传入绘
6、图设备g,通过该设备,我们可以绘制如直线,矩形快,字符串,图片等。在完成绘图后,我们需要让系统随机产生雷区,这就需要编写一个“布雷”函数,利用rand随机mine_num个雷的位置,并利用相应的语句实现X、Y数值的随机确定。布完雷后,便要编写函数,如何识别键盘的输入指令,于是我们编写了keyPressed,通过该函数,系统可以自动调用该函数,当有键盘事件发生为按下某键,参数key为按下键的键值,并通过函数里面具体的语句来判断该数值的具体含义,以便作相应的处理。在具体的扫雷过程中,利用boolea
7、nisWinGame来进行红旗的标记。标记完后,应该在屏幕上显示出相应位置雷区数量的提示,这就用到了showMap,该函数是一个递归函数,把当前位置设置成显示,并判断当前位置雷数是否为0个,如果是0个雷,那么它周围的8个格子都要再作一次showMap。如果闯关成功,就会进入到下一关。如果不成功,就会重新开始。这些功能都通过rePlay函数来实现。闯关成功,rePlay就会自动增加雷区数量,加大游戏难度。5.2程序功能实现截图30(1)运行程序,按数字“3”看到的界面(图5.2.1):图5.2.1
8、(2)游戏失败界面(图5.2.2):图5.2.230(1)游戏胜利,进入下一关(图5.2.3):图5.2.3(2)游戏第二关(每闯一关,界面变大,难度加大图5.2.4):图5.2.4305.3程序实现程序包括两个类:Game.java和Minesweeper.javaGame.java:importjava.util.Random;//得到随机函数importjavax.microedition.lcdui.*;//写界面所需要的包classGameextendsCanvas{//游戏状态pri
此文档下载收益归作者所有