Java 拼图的设计思想:
1. 用到的包:
a) Java.awt
b) Javax.swing
c) Java.awt.event
2. 总体思路:
游戏拥有五个界面:
a. 初始界面
b. 简单模式
c. 一般模式
d. 困难模式
e. 变态模式
初始界面:
初始界面是该游戏一开始进入的界面,通过初始界面可以选择游戏的难度即进
入其他四个界面。初始界面也是 main 函数中唯一的语句---建立初始见面的对象。
初始界面类继承自 JFrame,拥有 ActionListener 接口。
在初始界面中通过 null 布局灵活设置界面中组建的布局。用四个按钮,分别对
应简单、一般、困难和变态。通过 actionPerformed 方法,对该界面下一系列的动
作进行监听并执行。
通过点击四个按钮,创建对应的四个难度类的具体对象,并且销毁初始界面,
弹出游戏界面。
对于难度设置,我们从图片分割后的数量上进行设置,从 3*3,4*4,5*5 以及
最终的难度 11*11,来增加将图片完整复原后的步骤和时间。
MyButton 类:
该游戏主要通过按钮图片的转换进行,但是 JButton 本身不具有我们所需要的
功能,所以创建一个 MyButton 类,通过继承 JButton 来增加我们的功能。具体功
能如下:
MyButton():构造函数,设置原始坐标 xy;
Getxy():返回原始坐标
Pic():对按钮对象进行贴图
Setnxy():设置现在的坐标,该坐标 随按钮位置的变化而变化
Getnxy():返回 nxy
Reicon():返回该按钮上的贴图
简单界面:
简单界面和其他游戏界面差不多,最上面是开始按钮和返回。中间拼图游戏的
主体,下面是拼图的原图。
按下开始按钮通过 timer 组件进行计时。
按下返回按钮,则销毁当前界面,返回初始界面。
在拼图主体,通过随机数打乱原图的顺序。通过 xy 记录每个图片应该在的位
置,当两个按钮交换时,实际上改变的是图片和 nxy。
在游戏的判断阶段,通过对比 xy 是否和 nxy 相等来判断游戏是否完成。