第一步是创建项目 项目名自拟
第二部创建个包名 来规范class
然后是创建类 创建一个代码类 和一个运行类
代码如下:
package heima;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Random;
import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.border.BevelBorder;
public class GameJFrame extends JFrame implements KeyListener,ActionListener{
//GameJFrame这个界面表示的就是 游戏的主界面
//以后跟游戏相关的所有逻辑都写在这个类中
//创建一个二维数组
//目的:用来管理数据
//加载图片的时候,会根据二维数组中的数据来进行加载
int[][] data =new int[4][4];
//记录空白方块在二维数组中的位置
int x=0;
int y=0;
//定义一个变量,记录当前展示图片的路径
String path = "D:\\学习资料\\Java\\拼图小游戏\\image\\animal\\animal1\\";
//定义一个二维数组 存储一个正确的数据
int[][] win= {
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
{13,14,15,16},
};
//定义变量来统计部署
int step = 0 ;
//创建项目下面的条目对象
JMenuItem replayItem =new JMenuItem("重新游戏");
JMenuItem reLoginItem =new JMenuItem("重新登录");
JMenuItem closeItem =new JMenuItem("关闭游戏");
JMenuItem accountItem =new JMenuItem("丁国俊的微信");
public GameJFrame () {
//初始化界面
intiJFrame();
//初始化菜单
initJMenuBar();
//初始化数据
initData();
//初始化图片(根据打乱之后的结果去加载图片)
initImage();
//设置窗体可见 放到最后
this.setVisible(true);
}
//初始化数据
private void initData() {
//1.定义一个一维数组
int[] tempArr= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
//2.打乱数组中的数据顺序
//遍历数组中得到的每一个元素,拿到每一个元素跟随索引上的数据进行交换
Random r = new Random();
for(int i =0 ;i
测试类如下:
package heima;
public class App {
public static void main(String[]args) {
//表示程序的启动入口
//如果我们想要开启一个界面,就创建谁的对象就可以了
new GameJFrame();//调用游戏主界面窗体
//new RegisterJFrame();//注册界面
//new LoginJFrame();//登入界面
}
}
运行结果如下: