扫雷实验报告

扫雷实验报告
扫雷实验报告

二、功能分析

1、主要模块

1)主界面

2)给按钮添加动作

3)生成雷

4)设计左键点击效果

5)设计右键点击效果

6)实现扩散效果(扩散到雷的周围时要显示出雷的数目)

7)设置系统栏功能(初级,中级,高级,自定义,退出等)

8)实现帮助对话框

2、系统操作

在win7环境下安装Eclipse或其他编译环境时,注意环境变量的设置3、系统配置

安装相关编译环境以及JDK

4、限制与条件

本版本在实现点击到雷显示图片时出现bug,且未能实现音乐的添加

三、关键功能的设计与实现

1、数据结构

未设计到复杂的数据结构,雷区采用数组存储

2、流程图

3、关键代码介绍

初始化雷区:

private void init(){

setLayout(new GridLayout(h,l));

bombs=new BombButton[h][l];

for(int i=0;i

for(int j=0;j

bombs[i][j]=new BombButton(i,j);

bombs[i][j].addActionListener(this);

bombs[i][j].addMouseListener(new MouseAdapter(){

public void mouseClicked(MouseEvent e){

BombButton

button=(BombButton)e.getSource();

if(e.getButton()==MouseEvent.BUTTON3){

if(isWin())return;

if(button.isEnabled()){

if(button.isMarked()){

try{

int

n=Integer.parseInt(text.getText());

text.setText(""+(n+1));

}catch(Exception ee){}

button.setMarked(false);

button.setText("");

}

else{

try{

int

n=Integer.parseInt(text.getText());

text.setText(""+(n-1));

}catch(Exception ee){}

button.setMarked(true);

button.setText("f");

}

}

雷区按钮的事件响应:

public void actionPerformed(ActionEvent e){

if(e.getActionCommand().equals("确定")){

if(priB.isSelected()){

if(num==1){

setVisible(false);

return;

}

bPanel.setXYNum(9,9,10);

BombFrame.this.setBounds(50,10,bPanel.getBWidth()+6,bPanel.getBHeigh t()+113);

text.setText(""+bPanel.getBombNumber());

num=1;

}

if(midB.isSelected()){

if(num==2){

setVisible(false);

return;

}

bPanel.setXYNum(16,16,40);

BombFrame.this.setBounds(50,10,bPanel.getBWidth()+6,bPanel.getBHeigh t()+113);

text.setText(""+bPanel.getBombNumber());

num=2;

}

if(advB.isSelected()){

if(num==3){

setVisible(false);

return;

}

bPanel.setXYNum(16,30,99);

BombFrame.this.setBounds(50,10,bPanel.getBWidth()+6,bPanel.getBHeigh t()+113);

text.setText(""+bPanel.getBombNumber());

num=3;

}

if(selfB.isSelected()){

int a=0,b=0,c=0;

try{

a=Integer.parseInt(hField.getText());

b=Integer.parseInt(lField.getText());

c=Integer.parseInt(numField.getText());

if(a>=18||b>=32||c>=a*b)throw new NumberFormatException();

}catch(NumberFormatException ee){

JOptionPane.showMessageDialog(null,"输入有误或者超出范围!(行数小于18,列数小于32)");

hField.setText("");

lField.setText("");

numField.setText("");

return;

}

bPanel.setXYNum(a,b,c);

BombFrame.this.setBounds(50,10,bPanel.getBWidth()+6,bPanel.getBHeigh t()+113);

//bPanel.startNew();

text.setText(""+bPanel.getBombNumber());

}

setVisible(false);

time.setNew();

bPanel.startNew();

}

if(e.getActionCommand().equals("取消")){

setVisible(false);

}

}

四、项目开发总结

1、收获与体会

通过扫雷游戏项目的开发,使我们了解了软件项目开发的整个流程。首先,将一个完整的项目分割成若干的代码模块,每个组员负责相应的代码块,这样既有利于降低难度,又能更各模块同时进行,保证项目的进程。本游戏的制作是我们对java语言有了更加深入的理解,特别是在此前未涉及的GUI编程以及事件相应。软件项目开发需要整个团队的通力协作,单打独斗很难保质保量完成任务。项目开发期间我们也遇到了很多棘手的问题,但在组员的合作下一一克服。通过本次项目开发,不仅增强了编程能力,也提高了团队协作能力,这也是最为重要的。

2、不足之处及进一步改进思路。

1)对类库不够熟悉,大量依赖书本及相关参考文献。

2)界面设计不够漂亮,且未添加相关音效,日后要补充相关知识。

3)对常见错误的解决办法不够熟悉,需要日后多敲代码,总结错误处理方法。

4)编程的细节性问题不够重视,如变量名的定义,访问符的选用等,对后边的编程造成很大不便。日后要注重细节,养成良好的变成习惯。5)游戏中可以改进的地方包括声效的加入,图片的显示。最好能够注册用户以及调整分辨率等。

软件测试 扫雷游戏

软件测试 实验报告(20 15 -20 16 学年第 2学期) 学号: 学生姓名: 专业班级: 学院: 学生成绩:

1.引言 1.1编写目的 编写该测试报告目的为: (1).查找并总结该模块程序所存在的问题; (2).为更改存在的问题,提供参考。 (3).评估测试测试执行和测试计划是否符合 1.2 程序功能 扫雷游戏中各个功能实现 1.3 测试对象 扫雷软件游戏规则测试 1.4 测试方法 黑盒测试 2.测试计划 2.1、条件: ?方块当前状态:标识问号方块、方块初始状态、方块标识红旗、 标识数字X且周围已标记了X个雷、标识数字X且周围没有标记完X个雷,标识数字X标雷错误 ?鼠标操作:左键、右键、双击 ?方块状态:有雷、无雷 2.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

3.测试结果分析 3.1结果分析 在程序代码基本完成后,经过不断的调试和修改,最后测试本次所设计的扫雷游戏能够正常运行,没有出现明显的错误和漏洞,但是在一些细节方面仍然需要完善,总的来说本次设计在功能上已经基本达到要求,在其他细节方面有待以后完善。 3.2 修改建议 1.在游戏中可以假如一些声音的提示,在游戏完成和失败的时候弹出一些小 的Flash动画。 2.完善一下扫雷英雄榜等。 4.测试评估 4.1测试任务评估 本次测试执行准备充足,完成了既定目标。 4.2 测试对象评估 测试对象尚未完善,不符合现阶段测试质量要求,存在着一些缺陷,本测试需要进一步修正,重新进行测试。

JAVA课程设计扫雷小游戏

Java游戏设计报告 院系计算机科学学院 班级计科11002 姓名张林峰 设计日期2012.12.18—2012.12.29

1·设计内容及要求 1.1·扫雷小游戏的基本要求 扫雷小游戏主要采用Java语言编写,适合windows XP以下的系统,以eclipse 为平台。具体要求如下: <1>扫雷小游戏分为初级、中级和高级三个级别,扫雷排行榜保存着每个级别的最好成绩,即挖出全部的地雷并且用时最少。单机游戏菜单选择“初级”、“中级”和“高级”。 <2>游戏默认的是初级级别,用户可以选择不同级别将出现对应级别的扫雷区域,单击扫雷区域任一方格以便启动计时器。 <3>用户选择某个方格,单击它就行。若所选择的放阁下有雷,这一局就结束了,若所选择方格下无雷,则会显示一个数字,该数字代表方格周围8个方格中共有几颗雷。 <4>如果用户认为某个方格下有雷,单击右键可以在方格上标记一个用户认为是雷的图标(一个小旗子)。 <5>用户可以选择标记为疑问的方格,可以选择游戏菜单下的标记,或者双击右键所选方格显示(?)图标。 <6>扫雷完成后,程序弹出保存成绩的对话框,用户可以根据自身选择是否保存。 <7>如果用户喜欢有提示音,可以选择游戏菜单中的声音选项,单击扫雷区域任一方格,就会听到吧嗒声。当点中地雷时,将会有爆炸声音响起,胜利后,将播放凯旋的旋律。 1.2需求实现的主要功能 (1)该游戏具有计时功能,即扫完全部地雷所花费的时间。 (2)用户可以选择是否有音效。 (3)用户可以自定义级别,还可以输入任意地雷数。 (4)自动保存扫雷排行榜。 2·需求分析 2.1扫雷区域的布局设计 系统的整体布局为:CardLayout布局,采用菜单、按钮、面板……等组件,菜单项主要有开始,选择级别,自定义,标记,声音,扫雷排行榜,退出,按钮的功能是重新开始游戏(可以选择游戏菜单里的开局,也可以点击企鹅图标重新开始游戏)。 2.2雷区的设计 MineArea类是javax.swing包中Jpanel容器的子类,实现了ActionListener 和MouseListener接口,所创建的对象:mineArea是MineGame类中最重要的成员之一,作为一个容器添加到MineGame窗口的中心。 2.3音效的设计

高级编程技术课程实验报告-扫雷游戏

高级编程技术课程实验报告 班级通信一 班 姓名陈远春学号201100120084 课程实验内容 扫雷游戏,是Windows操作系统自带的一款经典游戏。其规则简单,上手容易,不论男女老少皆可娱乐。扫雷的目的就是要把所有非地雷的格子揭开即胜利。踩到地雷格子就算失败。 设计的扫雷游戏应包含以下功能:能够显示主菜单和界面;能够接收鼠标输入功能;能够根据规则翻转相应的格子;能够标记指定格子的功能;游戏胜负判断功能;游戏支持背景音乐功能;游戏提供帮助说明。 设计分工安排 本程序由三人共同完成。 其中我主要负责程序代码编写调试和上台讲解方面的工作。 其余两个主要负责游戏设计部分模块的工作。 一、系统概述 扫雷游戏,是Windows操作系统自带的一款经典游戏。其规则简单,上手容易,不论男女老少皆可娱乐。扫雷的目的就是要把所有非地雷的格子揭开即胜利。踩到地雷格子就算失败。 本设计的扫雷游戏包含以下功能:能够显示主菜单和界面;能够接收鼠标输入功能;能够根据规则翻转相应的格子;能够标记指定格子的功能;游戏胜负判断功能;英雄榜记录更新;游戏支持背景音乐功能;游戏提供帮助说明。 二、需求分析 随着世界经济的长足发展和计算机技术的日益成熟,计算机被应用到人类活动的各个领域,各种应用软件也相继问世,这其中有相当一部分是游戏软件。使用游戏软件自然是为了满足人们对娱乐性的要求,而有些软件大都采用3D设计对系统配置的要求较高。 在众多游戏软件中,也不乏一些小游戏的身影,它们对系统的配置要求较低。能够满足人们对娱乐性的需求,是人们在完成工作娱乐时候的最好选择。在各种操作系统中都附带了一些小的游戏,而这些游戏也成为电脑用户软件中不可或缺的一部分。 扫雷游戏是比较经典的一款小游戏,过去的几年里Windows操作系统历经数次换代,变得越来越庞大、复杂,但这个可爱的小游戏在任何版本的Windows操作系统里去却依然保持着原貌。但几乎每个电脑使用者都接触过它,并且深爱着这款小游戏。

实验二 教育游戏开发实例:扫雷

实验二教育游戏开发实例:扫雷 实验目的: 1、掌握教育游戏设计与开发的一般过程与方法; 2、掌握游戏动画的高级制作方法 3、掌握有一定复杂程度的图形绘制方法 4、掌握多层级的程序构成方法 实验原理: 一、教育游戏设计开发原则 扫雷游戏虽然不是专门针对教育游戏开发的,但具有小型教育游戏的许多共同特性,有典型的意义。主要特点有:1、游戏规则简单;2、容易控制和使用(鼠标);3、有一定的刺激性:随时可能踩踏到地雷;4、智力持挑战:促进你的学习与思考,考验你的智力水平。所以此游戏虽然简单,但深受欢迎。经历多年,最新的windows7仍然保留有扫雷游戏。二、游戏的流程设计(p267) 三、多层的程序结构 “三层结构”一词中的“三层”是指:“表现层”、“中间业务层”、“数据访问层”。其中: 1、表现层:位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。 2、中间业务层:负责处理用户输入的信息,或者是将这些信息发送给数据访问层进行保存,或者是调用数据访问层中的函数再次读出这些数据。中间业务层也可以包括一些对“商业逻辑”描述代码在里面。 3、数据访问层:仅实现对数据的保存和读取操作。数据访问,可以访问数据库系统、二进制文件、文本文档或是XML文档、或者某种数据结构(数组等)。

对“三层结构”的深入理解——从一家小餐馆说起,一个“三层结构”的Web应用程序,就好象是一家小餐馆。 表现层,所有的.aspx页面就好像是这家餐馆的菜谱。 中间业务层,就像是餐馆的服务生。 数据访问层,就像是餐馆的大厨师傅。 我们去一家餐馆吃饭,首先得看他们的菜谱,然后唤来服务生,告诉他我们想要吃的菜肴。服务生记下来以后,便会马上去通知大厨师傅要烹制这些菜。大厨师傅收到通知后,马上起火烧菜。过了不久,服务生便把一道一道香喷喷的、热气腾腾的美味端到我们的桌位上。 (自己添加一些,联系课本的内容,如哪个程序属于那个层) 实验内容: 实验课时布置的内容。 思考题: 1.描述这段学习中遇到的问题及解决过程。 2.分析singleMine.java或MDraw.java的主要方法.

(完整word版)JAVA课程设计--扫雷游戏

合肥学院 计算机科学与技术系 课程设计报告 2009~2010学年第二学期 课程Java语言与应用 课程设计名称扫雷游戏 学生姓名胡远远 学号0604031005 专业班级07网络工程一班 指导教师许强张贯虹

2010年09月 1.设计内容及要求 1.1 扫雷游戏的基本要求 Windows 2000/XP系统提供的扫雷游戏是一个很有趣的游戏。本章的课程设计使用Java语言编写一个与其类似的扫雷游戏。具体要求如下:(1)选择级别后将出现相应级别的扫雷区域,这是用户使用鼠标左键单击雷区中任何一个方块便启动计时器。 (2)用户要揭开某个方块,可单击它。若所揭方块下有雷,用户便输了这一局,若所揭方块下五雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷。 (3) 如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个。 (4)扫雷胜利后,显示游戏胜利。 (5) 用户可以右击空格,可以选择标记为“旗帜”、“问号”或者返回成空格。 1.2 需实现的主要功能 (1)用户点击笑脸实现复位操作。 调用repaint()和validate()函数对界面进行重置以及刷新操作(2)可以显示用户完全扫雷成功所花时间。 文本框TF记录扫雷成功所花的时间 (3)在失败和胜利后跳出失败或胜利的文本框 JoptionPane 该类用来调出对话框并提示胜利 2.需求分析 2.1 扫雷棋盘的布局设计 系统的整体布局为:CardLayout布局, 采用了文本框、按钮、面板、框架…等组件,菜单主要有run按钮笑脸和哭脸,按钮的功能是重新开始新的游戏。

Java实验题目

实验二Java语言基础 1、实验目的 (1)通过实验,掌握Java语言程序设计的基本方法。 (2)学会Java语言中标识符的命名、运算符和表达式的应用。 (3)较熟练的掌握Java程序流程控制语句的应用。 2、实验内容 (1)将本教程中例程程序编辑、调试,并运行。 (2)使用for循环语句,不要用循序结构的System.out.println简单输出,在屏幕的正中间(上下居中、左右居中)输出图案如下: ☆☆☆☆☆☆☆ ☆☆☆☆☆ ☆☆☆ ☆ ☆☆ ☆☆ ☆☆☆☆☆☆☆。 (3)编写程序求e的值,e≈1+1/1!+1/2!+1/3!+1/4!+…+1/n!。用while循环语句编写程序,要求直到最后一项的值小于104-。并进行调试与运行。 3、实验预习 (1)复习本章所学内容 (2)写出实验内容中第(2)(3)题两个程序的源代码,作为预习报告。 4、实验步骤及结果 实验过程中,注意记录以下内容: (1)实验过程中实验步骤及其结果。 (2)遇到的问题及解决方法。 (3)实验体会。 实验四Java面向对象程序设计 1、实验目的 掌握Java面向对象程序设计中类、继承、包和接口的概念与应用,能够熟练应用方法、类、成员变量等元素。 2、实验内容 (1)创建一个复数类complex,以复数进行数学运算。复数具有如下格式: RealPart+ImaginaryPart*I其中,I为-1的平方根。 要求如下: ①利用浮点变量表示此类的私有数据。提供两个构造方法,一个用于此类声明时对象的初始化;一个为带默认值的无参构造方法。 ②提供两复数加、减、乘的运算方法。 ③按格式(a,b)打印复数。其中a为实部,b为虚部。 (2)创建银行账号Account类,实现存款(balance)的存(deposit)、取(withdraw)和查询(getbalance)等功能。 (3)编程定义一个接口,实现三个数中求最大值和最小值的方法,并将程序存放在mymaths包中。 (4)修改5.7.2案例中的部分设计:①设计和实现Cliper类的一个子类,它实现如下的加

扫雷小游戏课程设计

西安科技大学 软件工程课程设计报告 题目:扫雷游戏开发 班级:计科0901班 学号: xxxxxxxxxxxx 姓名: xxxxxxx 电话:xxxxxxxxxxxxx

2012年7月 目录 1 绪论 (3) 1.1 选题目的及意义 (3) 1.2 系统概述 (3) 2 可行性研究报告 (4) 3 需求规格说明书 (5) 4 总体设计说明书 (6) 5详细设计说明书 (7) 6 系统实现 (16) 6.1 开发环境 (16) 6.2 关键技术 (16) 6.3 运行结果 (16) 7测试分析报告 (17) 8心得体会 (19) 参考文献

1.绪论 1.1选题目的及意义 随着现在生活节奏的加快,人们在工作学习之余需要一个轻松娱乐的放松环境。因此我编写此软件的目的,一方面作为初学者来了解java环境下的小程序开发,另一方面使用户能在娱乐休闲的同时拓展思维能力。扫雷是单人计算机游戏。游戏的用户界面由小方格组成的战场构成。当游戏开始时,计算机将固定的地雷数随机的放到战场的方格。此游戏还允许玩家指定战场中的地雷数。 参考Windows 操作系统提供的扫雷游戏,改进扫雷游戏程序,增加以下功能:在主界面中添加一个菜单栏,菜单栏中包括游戏和帮助两个菜单,其中游戏菜单中设置初级、中级、高级、自定义、声音、扫雷英雄榜这几个菜单项,帮助菜单中设置游戏规则和制作人员两个菜单项。 背景说明: a.软件名称:扫雷 b.用户:所有扫雷游戏爱好者 1.2 系统概述 1.2.1扫雷游戏的基本要求 Windows 2000/XP系统提供的扫雷游戏是一个很有趣的游戏。本章的课程设计使用Java语言编写一个与其类似的扫雷游戏。具体要求如下: (1) 扫雷游戏分为初级、中级和高级三个级别。单击游戏菜单可以选择“初级”、“中级”和“高级”。 (2) 选择级别后将出现相应级别的扫雷区域,这时用户使用鼠标左键单击‘“开始”便启动计时器。 (3) 用户要揭开某个方块,可左键单击它。若所揭方块下有雷,用户便输了这一局,若所揭方块下无雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷。 (4) 如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个。 (5)当用户点中雷时,将有“你输了”的提示出现,胜利时,将有“你赢了”的提示出现。 1.2.2 需实现的主要功能 用户可以自定义级别并且可以任意输入雷数; 具有计时功能,即显示用户完成移动盘子所花费的时间。

java_扫雷_课程设计_报告

《JAVA程序设计》 课程设计报告 系别:计算机与电子系 专业班级:计算机科学与技术0803班 学生姓名:曾一墙 指导教师:徐鹏 (课程设计时间:2011年6月13日——2011年6月24日) 华中科技大学武昌分校

课程设计报告撰写内容、格式与成绩评定 一、课程设计报告的撰写内容与要求 1.课程设计总结报告应包括:前言、基本原理或理论、设计计算书或实验报告、结论、图纸(框图、流程图)、参考资料等;或调查、访谈报告、调查问卷、调查提纲等。 2.课程设计总结报告应书写工整,文句通顺、精炼、逻辑性强,图纸和曲线的绘制应符合规范。 3.调查型课程设计应根据调查结果撰写调查报告。调查报告内容包括:题目、参加时间、地点、方式、过程、调查对象一般情况、调查内容、发现的问题、调查结果和调查分析及体会等。调查报告要求语言简练、准确;叙述清楚、明白;数据、资料可靠;结论有理、有据。 4.图纸应布局合理,比例恰当,线条分明,字体工整,符合国家制图标准。 5.课程设计报告字数要求:理工、艺术类不少于2000字,其他专业不少于3000字。 二、课程设计成绩评定 1.学生的课程设计成绩由平时成绩、业务考核成绩两部分组成,均为百分制记分,其中平时成绩占总成绩的30%,业务考核成绩占70%。业务考核含设计报告(计算说明书、调查提纲、调查问卷等)、绘制的图纸、编制的软件、制作的模型、撰写的论文或问卷统计、调查分析等的完成及质量情况;平时成绩含设计表现、到课率等。 2. 教师按学生实际成绩(百分制,含平时成绩和业务考核成绩两部分)登记并录入教务MIS系统,由系统自动转化为“优秀(90~100分)、良好(80~89分)、中等(70~79分)、及格(60~69分)和不及格(60分以下)”五等。

游戏开发课程设计报告模版-扫雷游戏报告(定稿)

中原工学院信息商务学院 课程设计报告 2016~2017学年第一学期 课程游戏开发课程设计 课程设计名称扫雷游戏 学生姓名*** 学号***** 专业班级数媒141 指导教师郑全录 2016年12月

目录 第一章设计内容及要求 (1) 1.1 扫雷游戏的基本要求 (1) 1.2 游戏需要实现的主要功能 (1) 第二章需求分析 (2) 2.1扫雷游戏界面设计 (2) 2.2 雷区的设计 (2) 2.3 音效的设计 (3) 2.4 扫雷英雄榜的设计 (3) 第三章总体设计 (5) 3.1 总体功能图 (5) 3.2 总体流程图 (5) 第四章主要功能设计流程 (6) 4.1 雷区设计流程图 (6) 4.2 音效设计流程图 (6) 4.3 英雄榜设计流程图 (7) 第五章主要功能设计流程 (8) 5.1 类之间关系图 (8) 5.2程序运行效果图 (8) 5.2.1 游戏登录界面 (8) 5.2.2游戏菜单界面 (9) 5.2.3游戏运行界面 (10) 5.2.4游戏英雄榜界面 (12) 第六章总结 (13) 参考文献 (14) 附录 (15)

第一章设计内容及要求 1.1扫雷游戏的基本要求 当前各种游戏层出不穷,因为游戏的开发成本非常大,所以游戏的开发具有一定的风险性,但是一些小游戏的开发成本具有成本小,编写简单的优势,所以这些小游戏在游戏开发中也占有一席之地。在这类小游戏中包括益智类游戏,它以画面精美、游戏方法简单等特点得到大家的认可。成为人们在工作之余不可或缺的好伙伴。针对这种情况我选择了扫雷游戏该课题作为我的课程题目。 Windows XP和Windows 7系统提供的扫雷游戏是一个很有趣的游戏。本次课程设计的主要任务是使用JA V A语言编写一个与其类似的扫雷游戏。具体要求如下: 1、扫雷游戏分为初级、中级和高级三个级别,同时扫雷英雄榜存储每个级别的最好成绩,即挖出全部的地雷且用时最少者。单击游戏菜单可以选择“初级”、“中级”和“高级”或“查看英雄版”。 2、选择级别后将出现相应级别的扫雷区域,这时用户使用鼠标左键单击雷区中任何一个方块便启动了计时器。 3、用户要揭开某个方块,可单击它。若所揭方块下有雷,用户便输了这一局,若所揭方块下没有雷,则显示一个数字,该数字代表此方块周围的8个方块中共有多少颗雷。 4、如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),窗口左上角的雷数计数器将会减少一个。 5、扫雷胜利后(用时最少者),程序弹出保存成绩的对话框。 6、用户如果遇到疑问的方块,可以勾选游戏菜单下的标记选项卡(或者用快捷键Alt+G然后点击M)即可标记该可疑方块,此时双击右键并可出现“?”标记。另有颜色选项,当用户选中该项时,游戏将以最低图像像素来显示。 7、如果用户需要使用提示声,可选中声音选项,此时将听到计时的咔嗒声。当用户点中雷时,将有爆炸声产生;胜利时,将有凯旋的旋律播放,此时企鹅出现欢悦表情。 1.2游戏需要实现的主要功能 1、用户可以自定义级别并且可以任意输入雷数; 2、具有计时功能,既显示用户完成所有扫雷任务所需要的时间; 3、自动保存扫雷英雄榜。

扫雷的课程设计报告

西安文理学院信息工程学院课程设计报告 设计名称:数据结构课程设计 设计题目:实现一个N*M的扫雷游戏 学生学号:1402130407 专业班级:软件13级四班 学生姓名:樊秀琳 学生成绩: 指导教师(职称):谢巧玲(讲师) 课题工作时间:2015.6.22 至2015.7.3

说明: 1、报告中的任务书、进度表由指导教师在课程设计开始前填写并发给每个 学生。 2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。 3、所有学生必须参加课程设计的答辩环节,凡不参加答辩者,其成绩一律 按不及格处理。答辩由指导教师实施。 4、报告正文字数一般应不少于3000字,也可由指导教师根据本门综合设 计的情况另行规定。 5、平时表现成绩低于6分的学生,取消答辩资格,其本项综合设计成绩按 不及格处理。

信息工程学院课程设计任务书 指导教师:院长: 日期:2015年6月22日

信息工程学院课程设计进度安排表 学生姓名:樊秀琳学号:1402130407 专业:软件工程班级:13级四班 指导教师签名: 2014年6月22日

成绩评定表 学生姓名:樊秀琳学号:1402130407 专业:软件工程班级:13级四班

摘要 摘要: 扫雷游戏是Windows操作系统自带的一款小游戏,在过去的几年里,Windows操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。扫雷游戏是比较经典的一款小游戏,实现它的方法很多,可以用很多不同算法设计和语言实现,如C,C++,VB,JAVA等。我利用eclipse编写了与它功能相似的扫雷游戏,寓学于乐。 程序的功能是随机生成地雷数,通过鼠标操作玩游戏,不接受键盘,按任意键结束程序。单击屏幕上的笑脸可以重新开始游戏。所有地雷标出后胜利,当鼠标左键单击到地雷时提示游戏失败。其功能类似于Windows操作系统自带的扫雷游戏。论文首先介绍了进行该游戏课程设计的目的,然后是任务描述和设计的相关要求,最后是最重要的需求分析和设计方案。重点介绍了在游戏过程中各事件的处理,其中又以鼠标事件和清除未靠近地雷区方块这两方面最为最要,鼠标事件是利用鼠标所发出的信息了解用户的意图,进而做出相对应的动作。清除未靠近地雷区的方块较为复杂。 关键词:算法设计;事件;Eclipse

扫雷游戏程序设计课程设计报告

课 程 设 计 扫雷游戏程序设计 2013 年 11 月 5 日 设计题目 学 号专业班级 学生姓名 指导教师

合肥工业大学课程设计任务书

一. 设计任务 (1)鼠标左击排雷,右击插小旗,打问号; (2)方格里面的数字表示方格周围的雷数; (3)能够显示未标记雷数和游戏用时; (4)雷区上面的小脸可以变化,显示微笑,惊讶,痛苦,胜利。在任何情况下单击小脸可以重新开始游戏; (5)可进行游戏难度的设定:包括预定义的难度级别(雷区行数,列数和雷数),和自行定义雷区行数,列数和雷数的功能; (6)排行榜功能,扫雷成功时候,根据游戏用时更新排行榜。 二. 具体设计 (一)、设计思路 扫雷游戏是很经典也很有趣的一款游戏,这次的游戏程序设计要求设计出功能与原游戏相近的一款游戏,首先定义变量和类要画出游戏方格以及位图,设计游戏等级,等级越高方格越多雷数也越多;然后设置随机布雷以保证每次重新开始游戏都有不同的雷区地图;另外定义鼠标左击扫雷,左击标记周围埋雷情况,右击奇数次排雷偶数次取消上次排雷,以及扫雷第一次左击不能扫到雷。

(二)、设计表示: 1、鼠标左击排雷,右击插小旗,打问号; 2、方格里面的数字表示方格周围的雷数; 3、能够显示未标记雷数和游戏用时; 4、雷区上面的小脸可以变化,显示微笑,惊讶,痛苦,胜利。在任何情况下单击小脸可以重新开始游戏; 5、可进行游戏难度的设定:包括预定义的难度级别(雷区行数,列数和雷数); 6、任何时候开始游戏第一次点击不会扫到雷。 由于时间等原因未完成功能: 排行榜和自行定义雷区行数,列数和雷数功能。 (四)、详细设计 1、添加位图 前十二幅是在雷区的,后四幅是按钮。为了便于加载,必须各自保证其连续性。 分别表示游戏进行的状态、结果胜利或触雷。

课程实训报告

课程实训报告 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

信息工程学院课程实训报告 姓名:谢成林 学号:45 实训名称:C/C++项目实训 所在班级:14级软件工程2班 实训时间: 2015年6月8日-2015年6月18日实训地点:工B201 实训教师: 实训企业:上海杰普软件科技有限公司 实训成绩: 宿州学院信息工程学院实习实训中心制

三、项目开发过程(1写明项目开发需要用到的C/C++知识点,并给出相关重要代码,并在代码后做出注释。2 写出在项目开发环境下的开发步骤,尽可能详细。可续页。) 1、相应的知识点 1、导包:如果需要用到其他包中的类就需要导包 本次实训主要使用的包 工具包 布局画界面 布局画界面 部分 2数组 数组有基本数据类型和引用型数据类型,有一维和二维,二维是存放一维的数组,二维数组一般确定一个有X,Y轴坐标的位置。 而且数组的初始化也有静态的和动态,不得混用。 以下是利用数组添加图片,添加鼠标的事件监听等。

3产生随机数 利用随机数产生1到81的随机数 4鼠标点击事件 BUTTON1左击,BUTTON2中击,BUTTON3右击。 5、结构体语 (1)if条件语句 有些代码只能在满足条件之后可以执行的。 if(条件){} .else{} 多支语句 本次实训不仅利用if语句判断是否右击,解决了雷数的加减问题,还解决了所点击是否为雷,随后找出所雷并标出的问题等。

(2)循环语句 有些代码重复执行 循环语句可以很好的执行重复执行的代码,就如以下,利用for循环很好的解决了初级,中级,高级布雷任务等。 6界面和菜单

扫雷Python版

import random import os import msvcrt import easygui from colorama import init,Fore init(autoreset=False) class Fangkuai: def __init__(self,x=0,y=0,neirong=0,zhuangtai=0): self.x=x self.y=y self.neirong=neirong#0,9,1,2,3,4,5,6,7,8分别为空,雷,数字1-8 self.zhuangtai=zhuangtai#0,1,2,3,4分别为未点击,插旗,问号,被点击,错误 def getFangkuai(self): return [self.x,self.y,self.neirong,self.zhuangtai] class Mymap: def __init__(self,xMax=10,yMax=10): self.xMax=xMax self.yMax=yMax self.fk=[] self.new_fk=Fangkuai() self.lei_xy=[] def found_map(self): for x in range(self.xMax): self.fk.append([]) for y in range(self.yMax): new_fk = Fangkuai(x,y) self.fk[x].append([new_fk.getFangkuai()[2],new_fk.getFangkuai()[3]]) def bulei(self): for i in range(lei_sum): while True: self.x = random.randint(0, map_xy_max[0] - 1) self.y = random.randint(0, map_xy_max[1] - 1) if [self.x,self.y] not in self.lei_xy: self.fk[self.x][self.y][0]=9# 这一位的9代表雷 self.lei_xy.append([self.x,self.y]) break

JAVA实训报告

目录 1 绪论 (1) 2 系统分析 (2) 2.1 设计目的 (2) 2.2选择开发工具 (2) 2.3JA V A语言的特点 (2) 3系统设计 (4) 3.1需求分析 (4) 3.2可行性分析 (4) 3.3 总体设计 (4) 4系统功能实现 (5) 4.1.功能设计 (5) 4.2 系统实现(程序代码) (6) 4.2.1在Eclipse中新建项目 (6) 4.2.2主类Minesweeper1分析 (7) 4.2.3添加按钮系统功能 (8) 4.2.4小游戏查看器功能 (10) 4.2.5初级游戏功能 (10) 4.2.6中级游戏功能 (12) 4.2.7高级游戏功能 (13) 5系统应用 (16) 总结 (17) 致谢 (18) 参考文献 (19) 附录 (20)

1 绪论 当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。对于复杂的信息管理、游戏开发计算机能够充分发挥它的优越性。而JA V A语言是开发小游戏的最好的处理语言。 java虚拟机是软件模拟的计算机,可以在任何处理器上(无论是在计算机中还是在其它电子设备中)安全并且兼容的执行保存在.class文件中的字节码。java虚拟机的"机器码"保存在.class文件中,有时也可以称之为字节码文件。java程序的跨平台主要是指字节码文件可以在任何具有java虚拟机的计算机或者电子设备上运行,java虚拟机中的java解释器负责将字节码文件解释成为特定的机器码进行运行。java源程序需要通过编译器编译成为.class文件(字节码文件),java程序的编译和执行过程

扫雷游戏实验报告1

简易版扫雷游戏实验报告 一、问题描述 模仿windows扫雷游戏,开发一个简易版扫雷游戏系统。 二、功能分析 总体游戏过程分析:在屏幕中央位置显示一个雷区,雷区范围内预先埋设了一定数量的随机分布的地雷;玩家通过上下左右键控制光标在雷区的各个小方块之间移动并做标记;若能正确标记出雷区中的所有地雷,则游戏胜利;否则踩雷,游戏失败。 简易版扫雷游戏要具备以下功能: 1)开局:首先选择游戏等级,然后生成不同等级的雷区界面。 游戏等级分为三级:各等级方块数为——初级:8×8、中级: 16×16、高级:24×24;各级地雷数=总方块数/6;雷区每个 方块下面或埋藏有1个地雷,或者没有地雷; 2)挖雷:将光标移到某个方块,并按空格或回车键,可挖开它; 若所揭方块下有雷,则踩雷,此时所有含地雷的块都标记 , 该局游戏失败;如果方块上出现数字,它代表在它周围的8 个方块中共有多少颗地雷; 3)标记地雷:在光标所在的某个方块上按F或f键,则标记此 块下埋着地雷(实际上可能是误标),显示为F。每标记一个

地雷,地雷数减少1; 4)标记疑问:在光标所在的某个方块上按Q或q键,则在某方 块上面标一个问号(?),意味着没有把握判定它是否有雷。标 记为?的块可在恰当的时候再按标记地雷或挖开; 5)自动挖开:如果某个数字方块周围的地雷全都标记完,则在 该方块上按A或a键,将其剩下的方块挖开; 6)输入:通过键盘输入相关指示信息; 7)输出:提示游戏是否成功,是否继续。 三、程序设计 扫雷游戏系统的顶层层次图如下: 图1 扫雷系统的顶层层次图 从以下几方面“自顶向下”进一步逐步求精: ?继续分析已有功能,直到精化出所有子功能,确定模块间接口; ?描述精化后每个模块的处理过程; ?确定主要的数据及其数据结构; ?确定输入输出数据的内外部形式; ?界面的设计

Java课程设计报告_扫雷小游戏

. . . . JAVA语言课程设计报告 题目:扫雷小游戏 设计者: 专业班级: 学号: 指导教师: 2011年 12月 12日 计算机学院

目录: 1.设计容及要求 (1) 1.1.扫雷小游戏的基本要求 (1) 1.2 需求实现的主要功能 (1) 2.需求分析 (1) 2.1 扫雷区域的布局设计 (1) 2.2 雷区的设计 (1) 2.3 音效的设计 (1) 3.总体设计 (2) 3.1总体功能图 (2) 3.2游戏设计流程图 (2) 4.主要功能设计 (3) 4.1 雷区设计流程图 (3) 4.2 音效设计流程图 (4) 4.3 排行榜设计流程图 (5) 5.代码实现 (6) 5.1 类之间的关系图 (6) 5.2 各界面图及代码: (6) 5.2.1 游戏菜单界面 (6) 5.2.2 游戏登录界面(初级、中级、高级) (8) 5.2.3自定义扫雷界面 (15)

6.扫雷总结 (18) 7.参考文献 (18) 1·设计容及要求 1.1·扫雷小游戏的基本要求 扫雷小游戏主要采用Java语言编写,适合windows XP 以下的系统,以eclipse 为平台。具体要求如下: <1> 扫雷小游戏分为初级、中级和高级三个级别,扫雷排行榜保存着每个级别的最好成绩,即挖出全部的地雷并且用时最少。单机游戏菜单选择“初级”、“中级”和“高级”。 <2> 游戏默认的是初级级别,用户可以选择不同级别将出现对应级别的扫雷区域,单击扫雷区域任一方格以便启动计时器。 <3> 用户选择某个方格,单击它就行。若所选择的放阁下有雷,这一局就结束了,若所选择方格下无雷,则会显示一个数字,该数字代表方格周围8个方格中共有几颗雷。 <4> 如果用户认为某个方格下有雷,单击右键可以在方格上标记一个用户认为是雷的图标(一个小旗子)。 <5> 用户可以选择标记为疑问的方格,可以选择游戏菜单下的标记,或者双击右键所选方格显示(?)图标。 <6> 扫雷完成后,程序弹出保存成绩的对话框,用户可以根据自身选择是否保存。 <7> 如果用户喜欢有提示音,可以选择游戏菜单中的声音选项,单击扫雷区域任一方格,就会听到吧嗒声。当点中地雷时,将会有爆炸声音响起,胜利后,将播放凯旋的旋律。 1.2 需求实现的主要功能 (1)该游戏具有计时功能,即扫完全部地雷所花费的时间。 (2)用户可以选择是否有音效。 (3)用户可以自定义级别,还可以输入任意地雷数。 (4)自动保存扫雷排行榜。 2·需求分析 2.1 扫雷区域的布局设计 系统的整体布局为:CardLayout 布局,采用菜单、按钮、面板……等组件,菜单项主要有开始,选择级别,自定义,标记,声音,扫雷排行榜,退出,按钮的功能是重新开始游戏(可以选择游戏菜单里的开局,也可以点击企鹅图标重新开始游戏)。 2.2 雷区的设计

扫雷游戏

南昌大学实验报告 学生姓名:邹晓敏学号:6103313025 专业班级:数媒131 实验类型:□验证□综合□设计□创新实验日期:实验成绩: 一、实验项目名称 扫雷游戏编程 二、实验目的 1、掌握Windows SDK编程; 2、掌握Windows API的使用; 3、深入体会完整项目的开发过程。 三、实验基本原理 SDK:(软件开发工具包)是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合。它可以简单的为某个程序设计语言提供应用程序接口API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。API(应用编程接口)其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API 而使操作系统去执行应用程序的命令动作。API和SDK 是开发Windows应用程序所必需的东西,MFC编程框架和类库都是建立在它们之上的, GDI:是图形设备接口,它的主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出。 DC:MFC图形设备接口的设备描述表,它是MFC的主要对象之一。通过CDC类进行各种绘图操作, 四、实验步骤 1. 游戏分析 经过对游戏的初步分析,扫雷游戏含有如下规则:根据输入的信息,执行相应的挖雷,插旗,疑问标记,自动蔓延开挖等。如果选择了标记功能,那么单机右键会依次对未知点进行插旗,标记,取消插旗与标记。如果点滴到插旗的如果点击到了未插旗子的雷区,如果是雷,则判定游戏失败,之后对雷区的点击进行屏蔽,不予响应。如果是疑问标记则像正常区域对待。如何判断胜利,如果所有的雷都被插旗或者点击后剩余。而后为了丰富游戏添加了笑脸和计时器功能。

基于Java的扫雷课程设计(DOC)

《算法设计与分析》课程设计 扫雷游戏设计 班级计科1003班 姓名 指导教师 开发时间2012.12.18 湖南涉外经济学院信息科学与工程学院 2012年12月

摘要 扫雷游戏是Windows操作系统自带的一个小游戏,过去的几年里Windows 操作系统历经数次换代,变得越来越庞大、复杂,但这个可爱的小游戏在任何版本的Windows操作系统里去地依然保持着原貌。但几乎每个电脑使用者都接触过它,并且深爱着这款小游戏。 游戏上手极其简单,但是要熟练地掌握其中的操作及找出雷的技巧,难度却不低。作为家喻户晓老少皆宜的大众游戏,其普及程度可以说是史上任何一款游戏都无法相比的。 游戏的操作方面主要以鼠标为主,当鼠标指针对准未翻开的方块按下左键时即表示翻开方块,当鼠标指针对准未翻开的方块按下右键时即表示标示或疑示地雷,反复按下右键则方块会以未标示→标示→疑似三者关系不断循环。游戏者可以通过地雷区内的数字提示了解以数字为中心的其周边八个方格内所含的地雷数,假若翻开的方块显示数字“3”,则表示以其为中心的周边方块内藏有3个地雷。当按下的方块不是地雷,且周边八个方块也都没有地雷时,方块会以被翻开方块的八个方向将空白方块翻开。。 扫雷游戏是比较经典的一款小游戏,实现它的方法很多,可以用很多不同算法和语言实现,如C,C++,VB,Jave,C#等。本论文研究的是以java为开发环境,设计并开发一款扫雷游戏,其功能类似于Windows操作系统自带的扫雷游戏。论文首先介绍了制作游戏的整体思路及整个游戏设计的流程规划,然后介绍了雷区的布置及地雷随机产生的实现方法;重点介绍了在游戏过程中各事件的处理,其中又以鼠标事件和清除未靠近地雷区方块这两方面最为重要,鼠标事件是利用鼠标所发出的信息了解使用者的意图,进而做出相对应的动作。 关键词:java;扫雷;课程设计;

扫雷软件设计报告

摘要 此次设计的一款扫雷游戏,其功能类似于Windows操作系统自带的扫雷游戏。首先介绍了制作游戏的整体思路及整个游戏设计的流程规划,然后介绍了雷区的布置及地雷随机产生的实现方法;重点介绍了在游戏过程中各事件的处理,其中又以鼠标事件和清除未靠近地雷区方块这两方面最为重要,鼠标事件是利用鼠标所发出的信息了解使用者的意图,进而做出相对应的动作,而清除未靠近地雷区方块由于引进了“递归”这个概念而使其简单化。 本次设计只是完成了扫雷游戏的基本功能,在细节方面仍有待完善。 关键词:扫雷、事件、递归

1引言 (1) 1.1课题背景 (1) 1.2本文的主要工作 (1) 2 需求分析及开发环境 (1) 2.1系统目标 (1) 2.2系统应具备的基本功能 (1) 2.3开发环境及工具 (2) 3系统总体设计 (2) 3.1基本简介 (2) 3.2功能模块设计 (3) 4 系统流程与实现 (5) 4.1系统流程 (5) 4.2游戏界面介绍 (6) 总结 (9) 参考文献 (9)

1.1课题背景 扫雷是一个相对来说较为简单的小游戏。而且由于自身能力有限的问题,所以对于首次尝试制作小游戏的我是一个比较不错的选题。由于从未制作过任何的软件,为了将自己的所学知识加以运用,制作过程很大上的程度借鉴了别人的思想。但是我希望通过此次制作和学习过程,可以了解软件设计的方法。 1.2本文的主要工作 本文主要工作时相对较为详细的阐述此个小游戏,也就是扫雷的制作过程,遇到的问题,还有解决办法。所采用的工具软件和使用的方法。 2 需求分析及开发环境 2.1系统目标 游戏开始时,系统会在雷区的某些小方块中随机布下若干个地雷。安放好地雷的小方块称之为雷方块,其他的称之为非雷方块。部署完毕后,系统会在其他非雷方块中填充一些数字。某一个具体数字表示与其紧邻的8个方块中有多少雷方块。玩家可以根据这些信息去判断是否可以打开某些方块,并把认为是地雷的方块打上标识。如果某个数字方块周围的地雷全都标记完,可以指向该方块并同时点击鼠标左右键,将其周围剩下的方块挖开。如果编号方块周围地雷没有全部标记,在同时点击鼠标左右键时,其他隐藏或未标记的方块将被按下一次(即闪烁一下)。当玩家将所有地雷找出后,其余的非雷方块区域都已打开,此时游戏胜利。在游戏过程中,一旦错误地打开了雷方块则立即失败,游戏结束;当玩家标识的地雷数超过程序设定,虽然打开了全部其余方块,游戏仍然不会结束。 2.2系统应具备的基本功能 1、从外观上分析: 菜单 方块 地雷数目显示 计时器 有雷标识 无雷标识 红叉显示 胜利画面

java课程设计(扫雷游戏)

成绩评定表

课程设计任务书

目录 1.设计目的----------------------------------------------------------------------------- 4 2.总体设计----------------------------------------------------------------------------- 4 2.1设计需求------------------------------------------------------------------------------------------ 4 2.2程序功能模块图----------------------------------------------------------------------------------- 4 3.关键技术----------------------------------------------------------------------------- 7 4.程序流程----------------------------------------------------------------------------- 8 5.主要源代码-------------------------------------------------------------------------- 8 6.运行结果及结论------------------------------------------------------------------- 27 7.参考文献--------------------------------------------------------------------------- 29

相关文档
最新文档