小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏

扫雷游戏想必大家都玩过 , 但有没有想过自己开发呢?Java开发过许多小游戏 , 其中扫雷给小白来练手非常适合不过了 。
话不多说 , 首先展示一下游戏界面:
小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏
文章图片
实现过程如下:
【小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏】首先设计一个二维数组 , 用于存放雷和周围八个格子雷的个数 , 再定义两个一维数组分别存放雷的X和Y坐标 , 布雷 , 记录周围八个格子雷的个数 。
我使用的是EditPlus(新建Java项目Boom , 新建package:boom , 新建Class:Block)
代码:
小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏
文章图片
小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏
文章图片
建立一个顶层容器JFrame , 上面添加一个JPanel——JpMain,使用BorderLayout布局North为重新开始按钮 , Center为雷区(新建一个对象 , 把雷区进行了封装) , South为选择难度区域(任然使用一个JPanel , 上面添加JRadioButton单选器) , 顶层容器代码:
(在Boom项目下新建Class , 命名为SuperJpanel 。 )
代码
小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏
文章图片
小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏
文章图片
小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏
文章图片
创建一个对象——雷区对象的初始化 , 整个雷区使用一个JPanel包含 , 这个JPanel使用GridLayout布局方式 , 雷区有多少个格子就添加多少个JPanel , 使用卡片布局方式 , 每个JPanel中有两个卡片 , 第一个卡片为按钮 , 第二张卡片为JLabel——用于显示雷 , 周围雷的个数 。
(新建Class命名为CenterJpanel)
PS:将遍历周围八个数组封装成方法 , 再递归调用 , 最后发现因为递归层次太多极其容易卡死 , 所以不得不另想办法 , 最后想到了使用队列 , 把每个0的点放入队列 , 直到判断到不为0的地方 。
代码:
小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏
文章图片
小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏
文章图片
小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏
文章图片
小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏
文章图片
小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏
文章图片
新建Class——BoomMain勾选产生主函数
主函数 , 初始化一个SuperJpanel对象
代码:
小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏
文章图片