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

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

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

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

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

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

3caaf08881b05f54f01c6f73738e7737.png

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

a9b4303d6b931dadbd6f6ae4b8687964.png

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

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

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

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

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

然后初始化雷.

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

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

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

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

d8acf937de0d60ba4b63cd4cc21c3440.png

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

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

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

这是开始界面:

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

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

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

点到空白后的效果:

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

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

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

这是扫雷成功的界面:

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

这是扫雷失败的界面

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

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

你可能感兴趣的:(java图形界面设计小游戏)