写在开始
上一篇博客的链接为:用java实现扫雷小游戏,不再枯燥学语法(二)
任务清单
博主做这个项目给自己列的任务清单如下:
任务一:创建窗口(已完成)
任务二:窗口布局(已完成)
任务三:定义数据结构
任务四:实现游戏的基础功能(布雷,查雷,排雷,判定输赢)
任务五:辅助功能(待开数,已开数,游戏重开,计时器)
代码实现
Game.java
package game;
import javax.swing.*;
public class Game{
// 实例化对象
Windows windows = new Windows();
// 定义地图大小及数据结构
public static int ROW = 10;
public static int COL = 10;
public static int[][] data = new int[ROW][COL];
public static JButton[][] buttons = new JButton[ROW][COL];
// 定义地雷的个数
public static int LEICOUNT = 10;
// 定义表示地雷的特征数
public static int LEICODE = -1;
// 定义状态栏参数
public static int UNOPEN = ROW * COL;
public static int OPENED = 0;
public static int second = 0;
// 创建游戏过程
public Game() {
// 调用创建窗口
windows.createWindows();
// 创建顶部状态框
windows.setHeader();
// 添加地雷(尚未实现)
function.add();
// 设置按钮
windows.setButtons();
// 启动计时器(尚未实现)
timer.start();
}
// 主方法函数,启动游戏
public static void main(String[] args) {
new Game();
}
总结
数据结构其实是编程思想中最为困难的部分,如何把你想实现的功能转变成为一个数学模型去表达出来?
扫雷中我们如何去定义雷,如何构造整个地图,整个游戏的流程又是什么样的,这些都是我们要去思考的,代码量不大,却是最值得我们反复去思考的。
下一次,我们就去完成我们想要实现的游戏基本功能,让整个游戏可以跑起来!
结语
如果说这篇文章有让你学到一定的知识的话,不妨点个赞和关注,让博主能够看到。如果讲解中有什么错误和疏忽,也劳烦在评论中指出或提问,博主会第一时间进行更新和答复,谢谢!