data.java
来自「使用启发式算法编写的推箱子游戏,有图形界面,可以自动演示最优步骤」· Java 代码 · 共 54 行
JAVA
54 行
/*
* 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 + =
减小字号Ctrl + -
显示快捷键?