程序员用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对象
代码:
Java练手小项目,3个小时带你做出一个俄罗斯方块游戏
学完Java基础,一直想找一个项目实战,俄罗斯方块就是一个不错的实战项目,它原理实现比较简单。
话虽如此,我一开始还是毫无头绪,直到看到一个俄罗斯方块的视频才有了思路。俄罗斯方块还是比较适合新手练习的。
项目视频教程中会带着大家一步一步地实现这个俄罗斯方块游戏的各个功能,为了提高兴趣度,该项目也提供了图形界面。
使用到的知识点主要是JavaSE的知识,这个项目也是为了筑牢你所学的JavaSE基础,如果你也跟着一步一步完成这个项目案例,我相信你的JavaSE基本功、编码能力、分析问题解决问题的能力都会有一个大的提升;
- JDK8.0
- IntelliJ IDEA
小方块
游戏背景图片
•001.课程导读
•002.准备工作
•003.所使用素材
•004.编写小方块类
•005.编写四方格父类
•006.创建7个不同的形状
•007.编写俄罗斯方块主类
•008.初始化7个不同形状的位置
•009.随机生成四方格
•010.创建游戏场景
•011.绘制游戏背景
•012.绘制游戏
•013.绘制游戏主区域
•014.绘制正在下落的四方格
•015.绘制下一个将要下落的四方格
•016.绘制游戏得分
•017.绘制游戏状态
•018.判断方块是否出界
•019.判断方块是否重合
•020.按键一次四方格左移一次
•021.按键一次四方格右移一次
•022.四方格变形
•023.初始化7个形状相对位置
•024.旋转状态1
•025.旋转状态2
•026.旋转状态3
•027.顺时针旋转四方格
•028.判断游戏是否结束
•029.消行并积分
•030.判断四方格能否下落
•031.按键一次四方格下落一个
•032.瞬间下落
•033.编写逆时针旋转四方格方法
•034.创建顺时针旋转
•035.开启键盘监听事件
•036.根据按键做相应事情
•037.将俄罗斯方块窗口设置为焦点
•038.编写四方格自动下落
•039.将start方法添加到main方法中
•040.俄罗斯方块最终效果
俄罗斯方块游戏资料源码下载:
http://www.bjpowernode.com/?toutiao
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。