java图形界面设计小游戏_Java图形界面编程小游戏 --- 10 * 10 扫雷 讲解

本文介绍如何使用Java图形界面设计一个10 * 10的扫雷小游戏,包括随机生成雷、数组表示格子状态、递归处理点开格子及事件监听等关键步骤。文章展示了不同阶段的游戏界面,并提供了完整的源代码供下载。
摘要由CSDN通过智能技术生成

前几天老师布置了个控制台扫雷游戏,就是自己输入坐标,然后在打印一下扫雷盘(扫雷界面).做好以后,总觉得这种控制台的界面看着不舒服,自己又会一些GUI界面的知识,然后就做了个这么个小游戏.(本程序全部源代码已上传,需要的可以去下载)

编程最重要的是思路,让我们先把思路理清楚:          首先是了解一下扫雷规则,10 * 10 的是有10个雷,这10个雷是随机生成的,当然你也可以要15个,这个也不一定按照常规来,可以设计你自己的扫雷游戏.然后其余90个格子不是数字就是空白(数字为0时,就打印空白),每个格子周围有几个雷,它就打印什么数字.你点击你个格子,如果是雷,则游戏结束,如果是数字,则直接打印数字,如果是空白,则要判断它周围的格子,周围格子也已这种方法判断下去,最后还剩10个没有被点开就赢了.

然后再想想怎么实现这些功能,看到 10 * 10 ,则可以用个数组来表示格子,数组值表示储存它要打印的什么,10个雷也直接随机生成,注意不要生成重复的.最后点开后的处理可以用递归的方法解决.

最后就是把这个思路和图形界面结合在一起:

先定义个MyPanel类,用来画每个格子,给好属性,

3caaf08881b05f54f01c6f73738e7737.png

然后重写paint方法,刚开始全部格子都不能被看见里面的showStr,所以先全部用个颜色填充了,

a9b4303d6b931dadbd6f6ae4b8687964.png

颜色自己设置,可以设基础色,也可以用RGB设置,showStr里的数据最后打印,注意是0的话就不打印,

162dddac2352c7c1713b9b92f4cbef30.png

showStr里的数据在添加点击事件后,会根据你点的情况而改变.

写扫雷盘类,自定义DrawBong类继承JFrame,设置布局为GridLayout,然后添加100个MyPanel进入DrawBong,同时给MyPanel添加鼠标事件.

4b3e2af68e329bca53d1eef7439338a5.png

然后初始化雷.

dced48d72aceb4fc27aae3f94ecf2b55.png

最后初始化其他MyPanel(即设置它们showStr的数据).

f602f64245845ab7e88219831e1196f9.png

然后把事件类写了,定义BongEvent继承MouseAdapter类,在类里面写一个Deal方法处理点开后的展开

d8acf937de0d60ba4b63cd4cc21c3440.png

340327.html

76df97ada069be7627434d4db0cc5eb1.png

最后可以根据自己的爱好加输赢界面,不想加就直接退出.

全做完后写个运行类就可以运行了

这是开始界面:

2c4acc4d7a09120b65e27e96360677dc.png

点了一个有数字后的效果:

17acb496b1c4e4bbce0d1449960b1519.png

点到空白后的效果:

5f063f5f75c30504b761c46193120342.png

然后加了右键提示是雷的效果

3aab436f36f02ba2d75c5785c93bb89d.png

这是扫雷成功的界面:

6fd5a3df922b1688b223fdaf417f4691.png

这是扫雷失败的界面

7bb518007a1272d99bef14132423b126.png

到这里整个扫雷小游戏就全部做完了,如果需要完整可以去下载,我已经上传了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值