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

yumo6662个月前 (03-10)技术文章39

扫雷游戏想必大家都玩过,但有没有想过自己开发呢?Java开发过许多小游戏,其中扫雷给小白来练手非常适合不过了。

话不多说,首先展示一下游戏界面:

实现过程如下:

首先设计一个二维数组,用于存放雷和周围八个格子雷的个数,再定义两个一维数组分别存放雷的X和Y坐标,布雷,记录周围八个格子雷的个数。

我使用的是EditPlus(新建Java项目Boom,新建package:boom,新建Class:Block)

代码:

建立一个顶层容器JFrame,上面添加一个JPanel——JpMain,使用BorderLayout布局North为重新开始按钮,Center为雷区(新建一个对象,把雷区进行了封装),South为选择难度区域(任然使用一个JPanel,上面添加JRadioButton单选器),顶层容器代码:

(在Boom项目下新建Class,命名为SuperJpanel。)

代码

创建一个对象——雷区对象的初始化,整个雷区使用一个JPanel包含,这个JPanel使用GridLayout布局方式,雷区有多少个格子就添加多少个JPanel,使用卡片布局方式,每个JPanel中有两个卡片,第一个卡片为按钮,第二张卡片为JLabel——用于显示雷,周围雷的个数。

(新建Class命名为CenterJpanel)

PS:将遍历周围八个数组封装成方法,再递归调用,最后发现因为递归层次太多极其容易卡死,所以不得不另想办法,最后想到了使用队列,把每个0的点放入队列,直到判断到不为0的地方。

代码:

新建Class ——BoomMain 勾选产生主函数

主函数,初始化一个SuperJpanel对象

代码:

相关文章

FlappyBird和2D迷宫,用JAVA怎么编写?

今天外面的阳光好大好大,虽然温度很低,但是看着午后的阳光就让人想起小时候的和煦、悠闲。既然如此,那就周末跟大家分享几个回忆中的游戏吧,不过当然不是原版本,而是用JAVA实现的模仿复刻版本~MazeBa...

2008年的回忆—手机java游戏

记起2008年,人们手中的手机,大都是塞班,Java系统,键盘机、电阻屏2.5至3.5寸为主,电容触屏机小之又小,有些手机出厂内置了一些游戏;想玩更多游戏要在网上,广告里发信息下载那时我喜欢玩红色警戒...

《我的世界》迎15周年,Java+ 基岩版游戏国区五折售44.5元

IT之家 5 月 16 日消息,为了庆祝《我的世界(Minecraft)》推出 15 周年(2009 年 5 月 14 日至今),系列游戏目前在全平台开启了优惠促销活动,最高 5 折,移动平台最高 3...