⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 data.java

📁 使用启发式算法编写的推箱子游戏,有图形界面,可以自动演示最优步骤
💻 JAVA
字号:
/*
 * Author: ruanjue
 * Created: 06/09/2004 09:52:53
 * Modified: 06/09/2004 09:52:53
 */
package boxman;

import java.util.*;
public class Data
{
	private int[] indexs=null;
	private byte[] path=null;
	public Data(int[] indexs,byte[] path){
		this.indexs=indexs;
		if(path!=null){
			this.path=new byte[path.length+1];
			for(int i=0;i<path.length;i++){
				this.path[i]=path[i];
			}
			this.path[path.length]=(byte)Main.NONE_VALUE;
		}
	}
	public int getScore(){
		int score=Scorer.score(indexs);
		return score;
	}
	public int getLayer(){
		return path.length;
	}
	public byte[] getPath(){
		return path;
	}
	public int[] getIndexs(){
		return indexs;
	}
	public boolean check(){
		return Main.checkAll(indexs);
	}
	public int getNum(){
		return Pot.getNum(indexs);
	}
	public Data[] getChilds(){
		int[] mv=Main.getMovable(indexs);
		Data[] childs=new Data[mv.length];
		int[] dat=null;
		for(int i=0;i<mv.length;i++){
			dat=Pot.move(indexs,mv[i]);
			path[path.length-1]=(byte)indexs[mv[i]];
			childs[i]=new Data(dat,path);
		}
		return childs;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -