网站首页 > java教程 正文
扫雷游戏想必大家都玩过,但有没有想过自己开发呢?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对象
代码:
猜你喜欢
- 2024-09-10 JAVA多线程小游戏(java多线程实战项目)
- 2024-09-10 整理??款让你Java突飞猛进的小游戏
- 2024-09-10 好程序员:只有二十行代码的Java贪吃蛇游戏,Java大神之作
- 2024-09-10 用java实现简单的文字pk的小游戏,用java实现人物PK的小游戏
- 2024-09-10 java awt实现飞机小游戏(java小游戏飞机大战)
- 2024-09-10 手把手,零基础教你,JAVA开发小游戏飞翔的小鸟,资源免费领取
- 2024-09-10 来看看大佬用Java做的:微信打飞机小游戏(需求分析+代码+图片)
- 2024-09-10 不到两小时教会你用JAVA制作超级玛丽小游戏
- 2024-09-10 《我的世界》迎15周年,Java+ 基岩版游戏国区五折售44.5元
- 2024-09-10 无聊的周末用Java写个扫雷小游戏(java编写扫雷)
你 发表评论:
欢迎- 最近发表
-
- java8的stream使用小示例(java stream的用法)
- Java 中的 Lambda 表达式深入解析:从语法糖到高阶函数
- 实战解析Android架构设计原则(android的架构)
- 搭建mcp服务器用java17,可是项目开发用的是java8怎么实现?
- Java Stream:集合处理的api(java集合流操作)
- Java 8新特性全面剖析:让编程变得更简单优雅
- Java 8新特性全面解析与最佳实践:掌握未来编程的艺术
- Java 8日期时间API新特性揭秘与深度解析
- Java 8 Stream API 详解(java.stream)
- Java机器学习库(Java ML)(二、聚类)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)