欢迎来到天天文库
浏览记录
ID:12888160
大小:2.29 MB
页数:33页
时间:2018-07-19
《基于android的简单扫雷小游戏》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、大庆师范学院《ANDROID应用设计》课程设计报告题目:基于ANDROID的简单扫雷小游戏专业班级:计算机科学与技术(嵌入式方向)设计者:王珂:2王盼盼:3赵玉莹:3刘阳:4李若男:5指导老师:许有军设计时间:2013-2014(1)报告完成日期2013年12月20日-32-一.设计任务及要求(小三黑体)(段前0.5行,段后0.5行,下同)1、设计任务(1)系统会在雷区的某些小方框中随机布小若干个地雷。安放地雷的小方块称之为雷方块,其他的称之为非雷方块。部署完毕后,系统会在其他非雷方块中填充一些数字,某一个具体数字代表与其紧邻的8个方块中有多少个雷方块。(2)游戏人可以根据(1)中的信息去判断
2、是否可以打开某些方块,并把认为是地雷的方块打上标识。(3)游戏开始后,雷区上方有两个计数器。左边的计数器显示用户扫雷所花的总时间,以秒为单位,(4)当玩家将所有的地雷找出后,其余的地雷方块区都已打开,此时游戏结束。(5)在游戏的过程中,一旦错误的打开了雷方块则立即失败,游戏结束。2、设计要求能够运用android语言设计出扫雷游戏的程序,会搭建android开发环境;会创建自己的android项目生成的文件之间的关系和他们的作用,会使用各种控件;能够对程序进行调试并学会修改其中的错误。3、任务分配王珂:王盼盼;赵玉莹:刘阳:李若男:二.设计原理及总体框图-32-×××××××××(小4号宋体,
3、1.5倍行距)××××××××××××××××××××………1、实现原理:扫雷是一个简单的单人游戏,游戏的目的实在没有触碰任何一个地雷的情形下清空一个雷区。在扫雷游戏中,游戏者。。。2、设计的总体框图:图包括在此说明设计的总体框图及实现原理三.程序设计1、程序分析游戏界面设计:在main.xml中加入三个TableRow,将整体界面划分为三个部分。第一个TableRow中加入两个textview(Timer和MineCount),分别用来显示玩游戏话费的时间(以秒为单位)和雷方块的个数。再加入一个button(Smiley),用来显示图片。第二个TableRow中加入一个textview,用来
4、将第一个部分和第二个部分分开。第三个TableRow中加入一个TableLayout(MineField),用来显示扫雷区的框架。程序的class类:Blocked.Java和MinesweeperGame.java程序的主要函数:游戏开始函数:startNewGame();游戏显示函数:showMineFiled();创建新游戏函数:createMineFiled();-32-完成游戏函数:finishGame();设置时间函数:setmines();玩家胜利函数:winGame();玩家失败函数:endExistingGame();1、程序详解(1)游戏开始函数startNewGamepr
5、ivatevoidstartNewGame(){//plantminesanddorestofthecalculationscreateMineField();//displayallblocksinUIshowMineField();minesToFind=totalNumberOfMines;isGameOver=false;secondsPassed=0;}privatevoidshowMineField(){//rememberwewillnotshow0thandlastRowandColumns//theyareusedforcalculationpurposesonlyfor(i
6、ntrow=1;row<-32-numberOfRowsInMineField+1;row++){TableRowtableRow=newTableRow(this);tableRow.setLayoutParams(newLayoutParams((blockDimension+2*blockPadding)*numberOfColumnsInMineField,blockDimension+2*blockPadding));for(intcolumn=1;column7、tLayoutParams(newLayoutParams(blockDimension+2*blockPadding,blockDimension+2*blockPadding));blocks[row][column].setPadding(blockPadding,blockPadding,blockPadding,blockPadding);-32-tableRow.addView(blo
7、tLayoutParams(newLayoutParams(blockDimension+2*blockPadding,blockDimension+2*blockPadding));blocks[row][column].setPadding(blockPadding,blockPadding,blockPadding,blockPadding);-32-tableRow.addView(blo
此文档下载收益归作者所有