. .
. v .
. v .
MineGame类主要有三种类型的成员:File、MineArea和ShowRecord对象。
MineArea类创立的对象是MineArea类最重要的成员之一,代表"扫雷区域〞。该类的成员变量中有5个重要类型的对象:Block、BlockView、LayMines和Record。
Block类是雷区中"方块〞的类封装,含有关于"方块〞的属性以及操作,即负责为雷区创立代表"方块〞的Block对象。
BlockView是JPanel容器的子类,BlockView创立的对象负责为Block对象提供视图,以便用户通过该视图与Block对象交互。BlockView对象使用一个标签和按钮为Block对象提供视图,标签和按钮按着卡片布局〔CardLayout〕层叠在一起,默认状态下按钮遮挡住标签。当用户单击按钮后,如果Block对象是雷,BlockView对象中的标签显示的是雷的图标;如果Block对象不是是雷,标签显示的是当前Block对象周围雷的总数。
LayMines类对象不需要视图,在游戏中不需要看见该对象。LayMines对象使用随机算法指定MineArea对象中的哪些Block对象是雷,哪些Block对象不是雷。
Record类是JDialog对话框的子类,当用户扫雷成功时,Record对象负责保存用户的成绩到文件。
ShowRecord类是JDialog对话框的子类,当用户查看扫雷的最好成功时,ShowRecord对象负责读取文件数据的界面。
. .
. v .
该游戏的整体设计流程图如图3—2所示:
图3—2 游戏设计流程图
开场
左键点击扫雷
该处是雷
是
数值表示周围雷数
确定此处是雷右键标记
所有雷都找 出
是
优胜
完毕
否
否
. .
. v .
4 详细设计
MineGame类
,并实现了ActionListener接口,该类的主要成员变量和方法:
①成员变量
1) bar 和fileMenu提供菜单操作,单击游戏菜单中的选项为"初级〞、"中级〞和"高级〞或"扫雷英雄榜〞。
2〕mineArea是扫雷区域,提供有关扫雷的主要功能。
3〕"英雄榜〞负责存放三个级别的扫雷最好的成绩。
4) showHeroRecord负责显示英雄榜中的数据。
②方法
1) MineGame( )是构造方法,负责完成窗口的初始化。
2)actionPerformed(ActionEvent)方法是MineGame类实现的ActionListener接口中的方法,该方法负责执行菜单发出的有关命令。用户选择菜单中项可触发ActionListener事件,导致actionPerformed(ActionEvent)方法执行相应的操作,例如将创立的雷区设置为初级、中级或高级等。
3) main(String[ ])方法是程序运行的入口方法。
MineArea类
,实现了ActionListener和MouseListener接口,所创立的对象:mineArea是MineArea类中最重要的成员之一,作为一个容器添加到窗口的中心。MineAre
java课程设计扫雷 来自淘豆网m.daumloan.com转载请标明出处.