- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1设计题目及具体要求设计题目题目2总体设计
2.1 MineGame.java(主类):主要负责创建扫雷游戏主窗口,该文件有main方法,扫雷游戏从该类开始执行。MineGame类主要有三种类型的成员:File,MineArea和ShowRecord对象。
2.2 MineArea.java:表示扫雷区域。该类的成员变量主要有四个,分别是:Block,BlockView,LayMines。
2.3 Block.java :雷区“方块”的封装,含有关于方块属性以及操作。
2.4 BlockView.java:为Block对象提供视图,如果是雷,则显示雷的图标,如果不是雷,则显示他周围的雷的总数
2.5 LayMines.java:使用随机算法指定MineArea对象中的那些是雷,那些不是雷
2.6 Record.java: 扫雷成功时,用于保存用户的成绩到文件
2.7 ShowRecord:当用户查看扫雷最好成绩时,用于提供读取文件数据的界面
3 详细设计与实现ar和fileMenu 提供菜单操作,单击菜单操作中的选项为“初级”,“中级”,“高级”
或“扫雷英雄榜”
mineArea 是扫雷区域,提供有关雷的主要功能
“英雄榜” 负责存放三个级别的扫雷最好成绩
showHeroRecord负责显示英雄榜中的数据
(2)方法
MineGame()是构造窗口,负责完成窗口的初始化。
ActionPerformed(ActionEvent)方法是MineGame类实现的ActionListener接口中的方法,该方法负责执行菜单发出的有关命令。用户选择菜单中的菜单项可触发ActionEvent事件,导致actionPerformed(ActionEvent)方法执行相应的操作。
Main(String[])方法是程序运行的入口方法。
(3) 实现
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.*;
import java.io.*;
public class MineGame extends JFrame implements ActionListener{
………
public void actionPerformed(ActionEvent e){
………
}
public static void main(String args[]){
new MineGame();
………
}
3.2 MineArea.java:
(1)成员变量
block和Block类型的数组,用来确定雷区有多少需进行扫雷的方块
blockView是BlockView类型的数组,负责block数组中Block对象提供视图
lay是LayMines类型的对象,负责设置block数组中的哪些方块不是雷
record负责提供保存成绩的界面,是一个对话框,默认为不可见。用户只有扫雷成功后,才可以看见该对话框
reStart是一个按钮对象,用户单击它重新开始游戏
time是计时器对象,负责计算用户用时。
(2)方法
initMineArea(int,int,int,int)方法可根据参数提供的数据设置雷区的宽度,高度,类的数目以及雷区的级别
actionPerformed(actionEvent)是MineArea类实现的ActionListener接口中的方法。当用户单击blockView中的某个方块时actionPerformed(actionEvent)执行有关算法。
Show()方法是一个递归方法。actionPerformed(actionEvent)方法执行将调用show方法进行扫雷
mousePressed(mouseEvent)方法是MineArea类实现的MouseListener接口中的方法,当用户按下鼠标右键时,mousePressed(mouseEvent)方法负责让方块上显示一个探雷标记。
inquireWin()方法用来判断用户扫雷是否成功,如果成功该方法负责让record对话框可见
(3)实现
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MineArea extends JPanel implements ActionListe
文档评论(0)