拼图游戏

  第一步是创建项目 项目名自拟

第二部创建个包名 来规范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();//登入界面
	}
}

运行结果如下:

你可能感兴趣的:(python,java,算法)