java_扫雷游戏课程设计报告(共5篇)

时间:2019-05-12 06:58:01下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《java_扫雷游戏课程设计报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《java_扫雷游戏课程设计报告》。

第一篇:java_扫雷游戏课程设计报告

一、设计任务与要求 扫雷游戏的基本要求

Windows 2000/XP系统提供的扫雷游戏是一个很有趣的游戏。本章的课程设计使用Java语言编写一个与其类似的扫雷游戏。具体要求如下:

(1)扫雷游戏分为初级、中级和高级三个级别,扫雷英雄榜存储每个级别的最好成绩,即挖出全部的地雷且用时最少者。单击游戏菜单可以选择“初级”、“中级”和“高级”或“查看英雄版”。

(2)选择级别后将出现相应级别的扫雷区域,这是用户使用鼠标左键单击雷区中任何一个方块便启动计时器。

(3)用户要揭开某个方块,可单击它。若所揭方块下有泪,用户便输了这一局,若所揭方块下五雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷。

(4)如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个。

(5)扫雷胜利后(用时最少者),程序弹出保存成绩的对话框。

(6)用户可以选择标记疑问的方块,用可以勾选游戏菜单下的标记(或者用快捷键alt+G 然后M)即可,此时双击右键并可出现“?”标记。另有颜色选项,当用户勾选此项时,游戏将以最低图像像素来显示。

(7)如果用户需要即使提示声,并可选中声音选项,此时将听到计时的卡塔声。当用户点中雷时,将有爆炸声产生,胜利时,将有凯旋的旋律播放,此时企鹅出现欢悦表情。

二、需求分析

1、扫雷游戏概述

扫雷是一种具有迷惑性的对记忆和推理能力的简单测试,它是长久以来最受欢迎的Windows游戏之一。游戏目标:找出空方块,同时避免触雷。

2、扫雷的操作方法

游戏主区域由很多个方格组成。使用鼠标随机点击一个方格,方格即被打开并显示出方格中的数字;方格中数字则表示其周围的8个方格隐藏了几颗雷;如果点开的格子为空白格,即其周围有0颗雷,则其周围格子自动打开。

例如,方格中出现1,说明上下左右及斜角合计有一颗雷,依次类推,2则有2颗,3则有3颗。

3、需实现的主要功能

(1)用户可以自定义级别并且可以任意输入雷数;

(2)具有计时功能,即显示用户完成移动盘子所花费的时间;(3)用户可以选择是否有音效;(4)自动保存扫雷英雄榜;

三、总体设计

1、总体功能图

扫雷游戏主界面游戏菜单重新开始帮助开局级别选择标记英雄榜退出关于扫雷

2、总体流程图

开始定义并初始化个按钮,菜单等菜单菜单事件处理按钮按钮开局选择级别标记声音英雄榜退出重新开始方块展示相应的效果是否点中雷NY结束

四、详细设计

1、扫雷棋盘的布局设计

系统的整体布局为:CardLayout布局, 采用了菜单、按钮、面板„等组件,菜单主要包括开始,选择级别,标记,扫雷英雄榜,退出,按钮的功能是重新开始新的游戏。

2、雷区的设计

MineArea类是javax.swing包中Jpanel容器的子类,实现了ActionListener和MouseListener接口,所创建的对象:mineArea是MineGame类中最重要的成员之一,作为一个容器添加到MineGame窗口的中心。标明MineArea类的主要成员变量、方法以及和MineGame类之间组合关系的UML图如图2-1所示。

JPanelActionListenerMouseListenerMineArearow,colum,mineCount,markMount: inblock: Block[]blockView: BlockView[][]showTime: JTextFieldshouMarkedMineCount: JTextField initMineArea(int,int,int): voidactionnPerformed(ActionEvent)voidmousePressed(MouseEvent): voidlay: LayMinesrecord: Record reStart: JButtontime: Timer show(int m,int n): voidinquireWin(): voidMineGamemineArea:MineArea------------------MineArea类的UML图

以下是UML图中有关数据和方法的详细说明。

1、成员变量

(1)block是Block类型的数组,用来确定雷区有多少需进行扫雷的方块。(2)blockView是BlockView类型的数组,负责为block数组中的Block对象提供视图。

(3)lay是LayMines类型的对象,负责设置block数组中的哪些方块是雷或不是雷。

(4)record负责提供保存成绩的界面,是一个对话框,默认不可见。用户只有扫雷成功后(用时最少),才可以看见对话框。

(5)reStart是一个按钮对象,用户单击它重新开始游戏。(6)time是计时器对象,负责计算用户的用时。

2、方法

(1)initMineArea(int,int,int,int)方法可根据参数提供的数据设置雷区的宽度、高度、雷的数目以及雷区的级别。

(2)actionPerformed(ActionEvent)是MineArea类实现的ActionListener接口中的方法。当用户单击blockView中的某个方块时,actionPerformed(ActionEvent)方法负责执行有关算法,例如,当用鼠标左键单击方块上的按钮后,若该方块下有雷,actionPerformed(ActionEvent)方法将使用户输掉本局,若该方块下无雷,actionPerformed(ActionEvent)方法将显示blockView对象中的标签,该标签上是一个数字,该数字代表当前方块的周围的8个方块中共有多少颗雷。

(3)show()方法是一个递归方法。actionPerformed(ActionEvent)方法执行时将调用show方法进行扫雷。

(4)mousePressed(MouseEvent)方法是MineArea类实现的MouseListener接口中的方法,当用户按下鼠标有件事mousePressed(MouseEvent)方法负责让方块上显示一个探雷标记。

(5)inquireWin()方法用来判断用户是否扫雷成功,如果成功该方法负责让record对话框可见。所谓扫雷成功是指不仅找到了全部的累而且用时最少。综上所述,MineArea创建的扫雷区域效果如图2.2.2所示。

3、音效的设计

music类是java.awt包中Frame的子类,通过构造音效声音方法,在MainFrame主类中,通过ActionListener来监视是否已开始游戏,来决定播放计时声,之后又通过ActionListener来监视是否踩到雷和是否完成来决定,播放相应的音乐。下面标明music类的主要成员变量、方法以及和MineFrame类之间组合关系的UML图如图2-2所示。

musiclooping,looping2,looping3:booleanfile1,file2,file3:Filesound1,sound2,sound3:AudioClipchosenClip1,chosenClip2,chosenClip3:AudioClipdidaInit():voiddidaLoop():voiddidaStop():voiddetonationInit():voiddetonationPlay():voidvictoryInit():voidvictoryPlay():void MineArea类的UML图

4、排行榜设计

LogDialog是javax.swing包中Jdialog对话框的子类,并实现了ActiongListener接口。LogDialog创建的对象dialog是MainFrame类(主类)的成员之一,当用户选择查看“英雄榜”菜单项时,该对话框可见,提供了查看扫雷的最好成绩的界面。标明LogDialog类的主要成员变量、方法以及和MainFrame类之间组合关系的UML图如图2-3所示。JDialogActiongListenerLogDialogfile:File 显示成绩:重新记分:JButtonactionPerformed(ActionEvent):voidreadAndShow:voidMineGameshowHeroRecord:ShowRecord

LogDialog类的UML图

五、调试分析、测试结果

在程序代码基本完成后,经过不断的调试与修改,最后测试本次所设计的扫雷游戏能够正常运行,在基本功能与画面上与Windows自带的扫雷游戏没有太大差别,没有出现明显的错误和漏洞,但是在一些细节方面仍然需要完善,比如在游戏中可以加入一些不同语音的提示,在游戏完成和失败的时候可以弹出一些小的Flash动画,还有就是可以扩展一下扫雷英雄榜的功能等。总的来说本次设计在功能上已经基本达到要求,其他细节方面有待以后完善。

六、结论及改进设想

1、界面的美观性做的不太好,比如说布局,颜色搭配有待改进

2、背景音乐在播方的时候有一点小问题,比如单击停止播放,音乐并没有停止,需要单击2次或多次;另外背景音乐似乎很占内存,运行的时候容易死机。

3、MineGame的初始化界面大小难以控制,特别是在自定义的情况下,需在手动改面窗口的大小。

七、心得体会

这个扫雷游戏是完全模拟微软系统自带的扫雷游戏,所以难度是比较大了,必然在编程过程中也遇到很多问题,有些问题比较简单但就不知道错在哪里,有些大问题之道在哪就是不知道怎么办才好,后来经过自己的不断调试,这个扫雷游戏终于大功告成。

经过编写这个扫雷游戏,我认识到应该注意细节问题,虽然是很小的问题,但可以提高自己编程的能力,而且还可以培养自己编程的严谨性,同时还可以为以后的编程积累经验。编写完这个扫雷游戏,我发现自己有很多的不足,我想如果让我来单独来编写这个游戏,我感觉很吃力,因为这个游戏涉及到好多算法。感触最深的就是我们真的要扎扎实实的打基础!并且我感觉到只要我们自己肯下功夫学习,我们也可以做出很好的东西。

通过该课程设计,全面系统的理解了程序构造的一般原理和基本实现方法。把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。现在通过自己动手做实验,从实践上认识了Java是如何处理命令的,课程设计中程序比较复杂,在调试时应该仔细。

在这次课程设计中,我就是按照实验指导的思想来完成。加深了理解文件系统的内部功能及内部实现,培养实践动手能力和程序开发能力的目的。

八、参考文献

[1] 耿祥义.Java大学实用教程.北京:清华大学出版社,2009. [2] 耿祥义.Java课程设计.北京:清华大学出版社,2008.

[3] 王鹏.Java Swing图形界面开发与案例详解.北京:清华大学出版社,2008. [4] 丁振凡.Java语言实验教程.北京:北京邮电大学出版社,2005. [5] 郑莉.Java语言程序设计.北京:清华大学出版社,2006.

九、附录

第二篇:C语言程序设计扫雷游戏

C语言程序设计报告

题目: 扫雷小游戏设计

电子通信与物理学院 日期:2018年7月 12 日

指导教师评语

目录

1.课程设计内容...........................................................................................................1 2.课程设计目的...........................................................................................................1 3.背景知识..................................................................................................................1 4.工具/准备工作..........................................................................................................3 5.设计步骤、方法.....................................................................................................3

5.1........................................................................................................................3 5.2定义全局变量..................................................................................................4 5.3挖雷部分函数的分析.......................................................................................5 6.设计结果及分析.....................................................................................................11 7.设计结论...............................................................................................................16 8.参考文献...............................................................................................................17 附录...........................................................................................................................17

1.课程设计内容

在计算机逐步渗入社会生活各个层面的今天,计算机已经成为人们日常生活的一分,越来越多的人使用计算机办公、娱乐等等。

扫雷游戏是Windows操作系统自带的一款小游戏,在过去的几年里,Windows操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。我利用C-free编写了与它功能相仿的挖地雷游戏,寓学于乐。

即:设计一个功能与Windows中的挖雷游戏相同的小游戏。

2.课程设计目的

1.培养学生综合运用所学知识独立完成课题的能力。

2.试学生更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。3.提高对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。4.培养勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。

5.培养从资料文献、科学实验中获得知识的能力,提高从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。

6.对掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核

3.背景知识

游戏区包括雷区、地雷计数器(位于左上角,记录剩余地雷数)和计时器(位于 右上角,记录游戏时间),确定大小的矩形雷区中随机布置一定数量的地雷(初级为9*9个方块10个雷,中级为16*16个方块40个雷,高级为16*30个方块99个雷,自定义级别可以自己设定雷区大小和雷数,但是雷区大小不能超过24*30),玩家需要尽快找出雷区中的所有不是地雷的方块,而不许踩到地雷。

游戏的基本操作包括左键单击(Left Click)、右键单击(Right Click)、双击(Chording)三种。其中左键用于打开安全的格子,推进游戏进度;右键用于标记地雷,以辅助判断,或为接下来的双击做准备;双击在一个数字周围的地雷标记完时,相当于对数字周围未打开的方块均进行一次左键单击操作:

左键单击:在判断出不是雷的方块上按下左键,可以打开该方块。如果方块上出现数字,则该数字表示其周围3×3区域中的地雷数(一般为8个格子,对于边块为5个格子,对于角块为3个格子。所以扫雷中最大的数字为8);如果方块上为空(相当于0),则可以递归地打开与空相邻的方块;如果不幸触雷,则游戏结束。

双击:同时按下左键和右键完成双击。当双击位置周围已标记雷数等于该位置数字时操作有效,相当于对该数字周围未打开的方块均进行一次左键单击操作。地雷未标记完全时使用双击无效。若数字周围有标错的地雷,则游戏结束,标错的地雷上会显示一个“ ×”(见下图)

扫雷的设计原理: 扫雷游戏分为几个步骤: 第一步,使用二维数组表示地图; 第二步,随机生成几个地雷;

第三步,点击方格的反应,计算每个非雷区方格点开后的数字; 第四步,当方格数字为0的情况; 第五步,当方格为地雷的情况。

第一步地图的大小和第二步地雷的数量都应该是程序中给定的,或者玩家输入的。这个是多少自己决定吧。第三步,计算非雷区方格点开后的数字就把这个方格在二维数组中周围八个方向的方格是否是地雷都检查一遍,一定要注意不要越出数组边界。这个数字可以在游戏初始化时全都计算好,也可以在玩家点击的时候再计算。点 击非雷区方格,显示数字,这个方格标记为“已点过”。第四步,当方格数字为0时,这里要用到递归调用,就是让程序自动“点击”这个数字为0方格周围的八个方格,然后再看结果,如果不是0,就停止,如果是0,依然递归调用,直到没有0为止,或者直到点遍所有方格为止,一定要注意不要越出数组边界。第五步,很简单,宣布玩家死亡就可以了。

4.准备工作

查阅相关资料,了解扫雷的的玩法,了解扫雷的设计思想方法。借鉴他人写过的程序,从中找到突破口。从程序中了解需要的各种函数准备,再进一步获悉该函数的功能与使用方法。

对自己要设计的挖地雷游戏进行功能分析,大致如下:

总体游戏过程分析:在屏幕上显示一个游戏界面,雷区范围内预先埋设了一定数量的随机分布的地雷(用数字9代替地雷);玩家通过从键盘中输入(行数X,列数Y)↙进行点击;若能点中所有非雷区,则游戏胜利;否则踩雷,游戏失败。简易版扫雷游戏要具备以下功能:

1)开局:首先选择游戏等级,然后生成不同等级的雷区界面。游戏等级分 为三级:各等级行列数为———:简单:10×

10、普通:15×

15、困难:20×20;雷区每个*号下面或埋藏有1个地雷,或者没有地雷;

2)挖雷:从键盘中输入(行数X,列数Y),并按回车键,可挖开它;若所揭方块下有9,则踩雷,此时所有含地雷的块都出现9,该局游戏失败;如果方块上出现数字,它代表 在它周围的8个方块中共有多少颗地雷;

3)输入:通过键盘输入相关指示信息; 4)输出:提示游戏失败,是否继续再来一遍;

5.设计步骤、方法 5.1主函数第一步,写出主程序的基本框架,确定各子模块名字和参数。具体的函数流程如图5-3 所示:

定义使用到的常数、全局变量、函数原型说明。然后初始化图形系统,调用游戏控制函数,游戏只接受键盘,通过鼠标结束游戏,关闭系统,退出游戏。

主控模块的各子模块说明:

void InitialValue_game()用于棋盘初始化; InitialMine_game()用于棋盘的随机布雷; void print_game()用于打印棋盘; int judge_game()用于判断游戏是否结束; int openmap()用于点开地图;

5.2定义全局变量

#include #include “stdlib.h” #include“time.h” # define s 20 int x;/*棋盘行数*/ int y;/*棋盘列数*/ int b;/*选择游戏难度 1简单2普通3困难4 自定义*/ int h;/*雷的个数*/ struct Games g;struct Games { int game_int[s][s];char game_char[s][s];};使用结构体数组来完成棋盘的定义,引用时间头文件来完成对随机布雷的随时性。

5.3挖雷部分函数的分析

void InitialValue_game(struct Games *g){ int i,j;for(i=0;i

InitialMine_game(struct Games *g){ 5 int i,j,next1,next2;int sum=0;srand((unsigned)time(NULL));while(1){ i=rand()%x;j=rand()%y;if((*g).game_int[i][j]==9)continue;(*g).game_int[i][j]=9;++sum;for(next1=-1;next1<2;next1++){ for(next2=-1;next2<2;next2++){ if(-1

void print_game(struct Games *g,int Logo){ int i,j;int a[s];for(i=0;i

int judge_game(struct Games *g){ int sum=0;int i,j;for(i=0;i

运行第一步:

按ENTER键进入: 11

选择游戏难度(简单、普通、困难、任意),按ENTER键进入: 简单难度: 普通难度:

困难难度:

任意难度:

游戏界面,开始从键盘输入数字,格式为(行数X,列数Y),点击Enter键:

游戏结束页面: 7.设计结论

一学期结束了,对C语言也有了一些认识,不过自我感觉学得不太好,好在还是学到了知识: 了解了C的发展以及编程的基本步骤,学会了Printf输出语句,C语言的运算,知道了有哪几种数据类型,还有我觉得经常用的if语句,if--eles语句,for循环,while 语句,do-while语句等等,基本会用数组和指针,还有字符串的处理,对了还有才学的结构体。

还有许多知识点,不一罗列了,总之C语言要学的东西太多了,听大三的都说C很简单,但我并不认为他像人们说的那样简单,C是最基础的,基础不代表简单,也可能是我没学好才有这样的感受。

在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问同学学到了课本上没有的知识。从而启发我,要想写好程序,在写好课本知识的同时还需要多读和专业有关的一些书籍,同时还需要多动脑子,尽量把所学的知识综合起来应用,力争写出完美的程序。除此之外,我还得到了一些有用的教训:写程序时必须要细心,不能输错一个字符标点,就连全角半角也得注意。在修改时要有耐心,编译出错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误。

8.参考文献

郭翠英主编的《C语言课程设计实例精编》; 张芳妮 吕波 译《C语言编程常见问题解答》; 谭浩强《C程序设计题解与上机指导(第二版)》。伍俊良.VB课程设计与系统开发案例[M].北京

附录:

#include #include “stdlib.h” 17 #include“time.h” # define s 20 int x;/*棋盘行数*/ int y;/*棋盘列数*/ int b;/*选择游戏难度 1简单2普通3困难4 自定义*/ int h;/*雷的个数*/ struct Games g;struct Games { int game_int[s][s];char game_char[s][s];};

main(){ int i,j;/*定义i,j变量*/ int NO;int begin=1;int h;/*确定雷的个数*/ while(begin){ printf(“nnnnnnn” “ttt=================================n” “ttt 欢迎进入扫雷 nnn” “ttt 按回车键继续 n” “ttt=================================n” “ttt n”);getchar();/*游戏开始界面*/ system(“cls”);printf(“ nnnnnnnnn”);printf(“ 请选择游戏难度:nn”);printf(“ 1简单难度nn”);printf(“ 2普通难度nn”);printf(“ 3困难难度nn”);printf(“ 4自定义难度nn”);scanf(“%d”,&h);getchar();/*确定游戏难度*/ if(0

void InitialValue_game(struct Games *g){ int i,j;for(i=0;i

InitialMine_game(struct Games *g){ int i,j,next1,next2;int sum=0;srand((unsigned)time(NULL));while(1){ i=rand()%x;j=rand()%y;if((*g).game_int[i][j]==9)continue;(*g).game_int[i][j]=9;++sum;for(next1=-1;next1<2;next1++){ for(next2=-1;next2<2;next2++){ if(-1

void print_game(struct Games *g,int Logo){ int i,j;int a[s];for(i=0;i

int judge_game(struct Games *g){ int sum=0;int i,j;for(i=0;i

第三篇:C语言程序设计扫雷游戏实验报告

中南大学

程序设计基础实践报告

学生姓名 张兰兰 学 院 信息科学与工程学院 专业班级 物联网工程1301班 完成时间 2014.1 题 目 设计一个和window系统类似的小游戏【挖地雷】

《计算机程序设计实践》403591717.docx 目录

1.课程设计内容.............................................................................................3 2.课程设计目的.............................................................................................3 3.背景知识....................................................................................................3 4.工具/准备工作............................................................................................5 5.设计步骤、方法.........................................................................................5

5.1.步骤1:步骤名称(二级标题).......................................................错误!未定义书签。

步骤1.1:步骤名称(三级标题)..............................................................................5 5.1.1.5.2.5.3.步骤2:步骤名称..........................................................................错误!未定义书签。步骤n:步骤名称..........................................................................错误!未定义书签。

6.设计结果及分析.........................................................................................5 7.设计结论..................................................................................................15 8.问题及心得体会.......................................................................................16 9.对本设计过程及方法、手段的改进建议....................................................17 10.参考文献..................................................................................................17

《计算机程序设计实践》403591717.docx

printf(“请输入棋盘行列数(小于20且用逗号隔开):”);

scanf(“%d,%d”,&x,&y);

getchar();

printf(“请输入雷的个数:”);

scanf(“%d”,&b);

getchar();

break;

}

break;

}

else

{

printf(“输入错误请重新输n”);

}

} while(begin){

system(“cls”);

InitialValue_game(&g);

InitialMine_game(&g);

print_game(&g,2);

NO=1;

while(NO)

{

printf(“Please choose:”);

scanf(“%d,%d”,&i,&j);getchar();if(-1

{

switch(openmap(&g,i-1,j-1))

{

case 1:

print_game(&g,1);

printf(“游戏结束!按回车键再来一局n”);

《计算机程序设计实践》403591717.docx

if(getchar()=='n')begin=1;

else begin=0;

NO=0;

break;

case 2:

if(judge_game(&g)==b)

{

printf(“win!n”);

print_game(&g,1);

printf(“按回车键再来一局n”);

if(getchar()=='n')begin=1;

else begin=0;

NO=0;

break;

}

else print_game(&g,2);NO=1;break;

default:break;

}

}

else

{

printf(“你输入错误!请重新输入n”);

} } } }

第四篇:【精美排版】软件考试扫雷游戏

软件测试--扫雷游戏

2

———————————————————————————————— 作者:

———————————————————————————————— 日期:

3

软件测试 实 验 报 告(20 15

-20 16 学年第 2 学期)

号:

学生姓名:

专业班级:

院:

学生成绩:

41..引 言1.1

编写 目的编写该测试报告目的为:

(1).查找并总结该模块程序所存在的问题;(2).为更改存在的问题,提供参考。

(3).评估测试测试执行和测试计划是否符合1.2 程序 功能

扫雷游戏中各个功能实现

1.3 测试 对象

扫雷软件游戏规则测试

1.4 测试 方法

黑盒测试

2.测试 计划

2.1、条件:

 方块当前状态:标识问号方块、方块初始状态、方块标识红旗、标识数字 X 且周围已标记了 X 个雷、标识数字 X 且周围没有标记完 X 个雷,标识数字 X 标雷错误  鼠标操作:左键、右键、双击  方块状态:有雷、无雷 2.2、动作:

 方块白色  方块标识问号  方块标识数字  方块旗子  炸弹爆炸,游戏结束

5

 未标识方块闪速  周围所有的非雷显示 2.3、规则:

鼠标当前状态 A 1、标识问号方块=A1 2、方块标识红旗=A2 3、方块初始状态=A3 4、标识数字 X 且周围已标记正确了 X 个雷=A4 5、标识数字 X 且周围没标 X 个雷=A5 6,标识数字 X 且周围标雷错误=A6 鼠标动作 B 1、点击左键=B1 2、点击右键=B2 3、双击左右键=B3 当前方块状态 1、有雷 2、无雷

2.4、简化公式:

6*3*2 =(1+1+1+1+1+1)*3*2 =1*3*2+1*2*2+1*3*2+1*1*1+1*1*1+1*1*1 =6+4+6+1+1+1 =19

6

7

2.5、扫雷判定表 鼠标当前状态 A1 A1 A1 A1 A1 A1 A2 A2 A2 A2 A3 A3 A3 A3 A3 A3 A4 A5 A6 鼠标动作 B1 B1 B2 B2 B3 B3 B2 B2 B3 B3 B1 B1 B2 B2 B3 B3 B3 B3 B3 方块当前状态 有雷 无雷 有雷 无雷 有雷 无雷 有雷 无雷 有雷 无雷 有雷 无雷 有雷 无雷 有雷 无雷 无雷 无雷 无雷 回到初始

Y Y

方块标识红旗

Y Y

方块标识问号

Y Y

方块标识数字

Y

Y

炸 弹 爆炸,游戏结束 Y

Y

Y 方块闪速

Y Y

Y Y

Y Y

Y

周围所有的非雷显示

Y

2.6、化简合并 鼠标当前状态 A1 A1 A1 A1 A2 A2 A3 A3 A3 A3 A4 A5 A6 鼠标动作 B1 B1 B2 B3 B2 B3 B1 B1 B2 B3 B3 B3 B3 方块及周围有无未发现的雷 有雷 无雷----------有雷 无雷------无雷 有雷 无雷 回到初始

Y

方块标识红旗

Y

方块标识问号

Y

方块标识数字

Y

Y

Y

炸弹爆炸,游戏结束 Y

Y

Y Y 方块闪速

Y

Y

Y

8

2.7、用例 编号 预置条件鼠标当前状态

输入 预期结果 1 标识问号方块 鼠标左击 点中炸弹,游戏结束 2 标识问号方块 鼠标左击 没点中炸弹,方块显示数字 3 标识问号方块 鼠标右击 恢复到初始状态 4 标识问号方块 双击左右键 方块闪烁 5 方块标识红旗 鼠标右击 方块标识变成问号 6 方块标识红旗 双击左右键 方块闪烁 7 方块初始状态 鼠标左击 点中炸弹,游戏结束 8 方块初始状态 鼠标左击 方块标识变成数字 9 方块初始状态 鼠标右击 方块标识变成红旗 10 方块初始状态 双击左右键 方块闪烁 11 标识数字 X 且周围已标记正确了X 个雷 双击左右键 周围初始状态的方块显示数字 12 标识数字 X 且周围没标 X 个雷 双击左右键 方块闪烁 13 标识数字 X 且周围标雷错误 双击左右键 点中炸弹,游戏结束3 .测试 结果分析

3.1

结果 分析

在程序代码基本完成后,经过不断的调试和修改,最后测试本次所设计的扫雷游戏能够正常运行,没有出现明显的错误和漏洞,但是在一些细节方面仍然需要完善,总的来说本次设计在功能上已经基本达到要求,在其他细节方面有待以后完善。

3.2 修改 建议

1.在游戏中可以假如一些声音的提示,在游戏完成和失败的时候弹出一些小的 Flash 动画。

2.完善一下扫雷英雄榜等。4..测试 评估

4.1

测试 任务评估

本次测试执行准备充足,完成了既定目标。4.2 测试对象评估

测试对象尚未完善,不符合现阶段测试质量要求,存在着一些缺陷,本测试需要进一步修正,重新进行测试。

第五篇:C语言程序设计扫雷游戏实验报告

中南大学

程序设计基础实践报告

学生姓名 张兰兰 学 院 信息科学与工程学院 专业班级 物联网工程1301班 完成时间 2014.1 题 目 设计一个和window系统类似的小游戏【挖地雷】

《计算机程序设计实践》错误!未指定书签。

目录

1.课程设计内容.............................................................................................3 2.课程设计目的.............................................................................................3 3.背景知识....................................................................................................3 4.工具/准备工作............................................................................................5 5.设计步骤、方法.........................................................................................5

5.1.步骤1:步骤名称(二级标题).......................................................错误!未定义书签。

步骤1.1:步骤名称(三级标题)..............................................................................5 5.1.1.5.2.5.3.步骤2:步骤名称..........................................................................错误!未定义书签。步骤n:步骤名称..........................................................................错误!未定义书签。

6.设计结果及分析.........................................................................................5 7.设计结论..................................................................................................15 8.问题及心得体会.......................................................................................16 9.对本设计过程及方法、手段的改进建议....................................................17 10.参考文献..................................................................................................17

《计算机程序设计实践》错误!未指定书签。

case 4:

system(“cls”);

printf(“请输入棋盘行列数(小于20且用逗号隔开):”);

scanf(“%d,%d”,&x,&y);

getchar();

printf(“请输入雷的个数:”);

scanf(“%d”,&b);

getchar();

break;

}

break;

}

else

{

printf(“输入错误请重新输n”);

}

} while(begin){

system(“cls”);

InitialValue_game(&g);

InitialMine_game(&g);

print_game(&g,2);

NO=1;

while(NO)

{

printf(“Please choose:”);

scanf(“%d,%d”,&i,&j);getchar();if(-1

{

switch(openmap(&g,i-1,j-1))

{

case 1:

《计算机程序设计实践》错误!未指定书签。

print_game(&g,1);

printf(“游戏结束!按回车键再来一局n”);

if(getchar()=='n')begin=1;

else begin=0;

NO=0;

break;

case 2:

if(judge_game(&g)==b)

{

printf(“win!n”);

print_game(&g,1);

printf(“按回车键再来一局n”);

if(getchar()=='n')begin=1;

else begin=0;

NO=0;

break;

}

else print_game(&g,2);NO=1;break;

default:break;

}

}

else

{

printf(“你输入错误!请重新输入n”);

} } } }

下载java_扫雷游戏课程设计报告(共5篇)word格式文档
下载java_扫雷游戏课程设计报告(共5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    课程设计报告格式(共5篇)

    (设计报告自己独立完成,如有雷同,双方均为0分,请同学们自己保护好 自己的设计报告,特此申明)。通信网综合课程设计设 计 报 告课题名称:专业班级:姓名:学号:起止时间:重庆交通大学 信息......

    五子棋游戏软件工程课程设计

    软件工程设计 专 业:班 级:姓 名:学 号:指导老师:I 目录 第一章 需求分析 ....................................................... 1 1.1 总体分析 ..............................

    黑白棋游戏数据结构课程设计

    青岛大学软件技术学院 游戏算法实践报告 姓 名 专 业 班 级 指导教师 2013年 1 月 16日 目录 1 问题定义与描述 .......................................................

    MFC课程设计报告-一个简单的五子棋游戏(本站推荐)

    网络092刘砺锋 设计一个简单的五子棋游戏 一、设计目标与内容 1. 了解Windows编程的基础知识,掌握MFC应用程序的基本知识; 2. 基本掌握面向对象程序设计的基本思路和方法; 3.......

    流行“扫雷”-有趣的游戏作文400字(小编整理)

    流行“扫雷”-有趣的游戏作文400字在学习、工作、生活中,大家都尝试过写作文吧,根据写作命题的特点,作文可以分为命题作文和非命题作文。那么,怎么去写作文呢?以下是小编为大家整......

    思维游戏课程设计的基本原则(共5篇)

    思维游戏课程设计的基本原则 细化、层层递进的思维发展目标。 思维课程中的每套游戏,都针对性的培养某种特定的思维能力。对于某种特定的思维能力,在难度的设计上也是尽可能的......

    高频课程设计报告

    一 设计课题名称 单边带调制解调电路的设计 二 课程设计目的、要求与技术指标 2.1 课程设计目的 (1) 巩固所学的相关理论知识; (2) 掌握电子系统的一般设计方法; (3) 会运用multisim......

    课程设计报告

    学 期:2014-2015-2 作 业:课程设计社会调研报告 班 级:社会工作131 学 号:1325012029 姓 名:蒋叶青 指导老师:钱雪飞老师 一.简介 时间:2015.5.26-5.28 地点:中国杭州......