当前位置:首页 > 扫雷游戏-课程设计报告
2.1 功能设计
IndexPanel类 成员变量 变量意义
增加雷按钮值 减少雷按钮值 玩游戏按钮值 成员方法 方法名称 IndexPanel paint mousePressed mouseReleased
该类实现游戏的开始界面,继承了JPanel 同时实现了监听MouseListener (鼠标监听)事件。主要用于选定炸弹的数目,即游戏的难易程度,点击 play按钮 则开始游戏。炸弹数量默认为60。
功能 初始化参数 绘出游戏界面 实现鼠标单击事件 实现鼠标释放事件
备注 构造方法
接口方法 接口方法
变量类型 long boolean boolean boolean
名称
serialVersionUID buAdd buDec buPlay
public void paint(Graphics g){}
采用画笔的方式设计界面,布局清晰,实现窗口的定位。
例如:// 画 设置炸弹数目的小球 (40)
g.setColor(Color.white); // 画笔的颜色
g.fillOval(40, 120, 30, 30); // 画的图形是 实心圆 g.setColor(Color.gray); // 重新设置画笔的颜色 g.drawOval(40, 120, 30, 30); // 画的图形是 空心圆 g.drawString(\图形上面的字符串
// 画PLAY按钮
g.setColor(Color.white);
g.draw3DRect(30, 320, 120, 30, buPlay); g.drawString(\
public void mousePressed(MouseEvent e) { ;} 鼠标点击事件,实现炸弹的选择。
MyPanel类
成员变量 变量意义 返回后重新开始 每插一旗变量加一 判断是否赢
判断是否结束 是否有雷的标志 方块周围雷数 雷坐标 判断是否插旗 判断插旗是否正确 插旗错误点的坐标
变量类型 int int int long int int[] int[] Int[] Int[] int int
名称 replay win gameWin
serialVersionUID gameOver bombFlag count bomb_x,bomb_y hadFlag check
check_x,check_y
判断是否点击过 判断是否已经清除过 成员方法 方法名称 MyPanel paint mousePressed clear keyPressed
Int[] Int[]
clicked clearFlag
功能
初始bombCount变量
绘出雷区,初始化雷区,及定义雷实现鼠标点击事件,挖开方块 清除点击处周围安全非提示方块 实现键盘事件,插旗
备注 构造方法
系统核心部分,使用了窗接口方法
接口方法
该类是游戏界面,也是最核心的类。不仅继承了JPanel类,也通过鼠标和键盘的监听事件,实现扫雷游戏。之前选择的炸弹随机分布在24*17个小方格内。
插旗提示:鼠标放在方格上,按空格键插旗。
共分享92篇相关文档