扫雷类图设计

表2-1 SoundPlayer类设计

背景音乐类 SoundPlayer

权限

返回

类型

名称

类型

说明

public

void

playSound

方法

播放音频文件,并在播放完成后释放锁

表2-2 soundEffects类设计

音乐音效类 soundEffects

权限

返回

类型

名称

类型

说明

public

void

playSound

方法

播放音频文件,并在播放完成后释放锁

public

void

play1

方法

播放 on0lb-r6h2s.wav 文件

public

void

play2

方法

播放 6586c-0ubev.wav 文件

public

void

play3

方法

播放 hbe6d-cgk6g.wav 文件

表2-3GameState类设计

游戏状态类 GameState

权限

返回

类型

名称

类型

说明

private

char[][]

board

属性

游戏的棋盘状态,表示方块上的内容

private

boolean[][]

revealed

属性

方块是否已被揭示

private

boolean[][]

flagged

属性

方块是否被标记

public

void

GameState

构造器

创建 GameState 对象的构造方法

public

char[][]

getBoard

方法

获取游戏的棋盘状态

public

boolean[][]

getRevealed

方法

获取方块的揭示状态

public

boolean[][]

getFlagged

方法

获取方块的标记状态

表2-4 MutableInt类设计

可变整数MutableInt

权限

返回

类型

名称

类型

说明

default

int

value

属性

保存可变整数值的属性

public

void

MutableInt

构造器

创建 MutableInt 对象的构造方法

表2-5 MinesweeperGame类设计

扫雷游戏MinesweeperGame

权限

返回

类型

名称

类型

说明

private

MutableInt

m

属性

表示游戏每一次操作揭开的格子数

private

int

cnt

属性

表示悔棋次数

private

Stack<GameState>

gameHistory

属性

存储游戏状态的堆栈

private

JButton

loadRecordButton

属性

加载游戏记录的按钮

private static final

int[]

LEVEL_SIZES

属性

各难度级别区域大小

private static final

int[]

LEVEL_MINES

属性

各难度级别雷数

private static final

String

FILE_PATH

属性

游戏记录文件路径

private

JTextArea

recordTextArea

属性

显示游戏记录的文本区域

private

JFrame

recordFrame

属性

游戏记录窗口

private

JMenu

levelMenu

属性

难度级别菜单

private

int

size

属性

当前难度级别区域大小

private

int

mines

属性

当前难度级别雷数

private

JButton[][]

buttons

属性

游戏方块按钮数组

private

char[][]

board

属性

游戏棋盘数组

private

boolean[][]

revealed

属性

标记已揭示方块的二维布尔数组

private

boolean[][]

flagged

属性

标记标记为雷的方块的二维布尔数组

private

Random

random

属性

随机数生成器

private

Timer

timer

属性

游戏计时器

private

long

startTime

属性

记录游戏开始时间

private

int

idx

属性

索引变量,表示难度类型

public

MinesweeperGame

构造器

创建了一个扫雷游戏的界面,包括菜单栏、加载游戏记录按钮以及游戏记录窗口。

private

int

getIndex

方法

得到索引

private

void

startGame

方法

开始游戏

private

void

closeWindow

方法

关闭窗口

private

void

initializeBoard

方法

初始化一个扫雷游戏的棋盘,包括放置雷、计算周围雷数等功能。

private

void

createUI

方法

创建图形化界面

private

void

reveal

方法

揭示方块

private

int

countSurroundingMines

方法

获得周围雷的数量

private

void

saveGameState

方法

保存游戏状态

private

void

updateUI

方法

更新界面元素

private

void

undo

方法

悔棋,返回上一个状态

private

void

flag

方法

标记雷

private

void

revealAllMines

方法

显示所有雷

private

void

disableAllButtons

方法

禁用所有按钮

private

void

checkWin

方法

检查胜利条件

private

long

getElapsedTimeInSeconds

方法

计时器

public

void

saveGameRecord

方法

保存游戏记录

private

void

loadGameRecord

方法

显示游戏记录

public static

void

main

方法

执行游戏并播放音乐

  • 18
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值