资源简介
人工智能课程资源,用A*算法实现的滑动积木块小游戏,2D界面,有助于加深了解A*算法的基本原理。
代码片段和文件信息
package ouc;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class AppMain {
public static Status initialStatus(){
@SuppressWarnings(“resource“)
Scanner reader = new Scanner(System.in);
int size;
Status firstStat = new Status();
System.out.println(“请输入单色木块的数目:“);
size = reader.nextInt();
if( size < 2 )
return null;
Status.setSize(size);
int[] s =new int[Status.SIZE*2+1];
int k;
//初始化状态数组
for( k = 0; k < Status.SIZE; k ++ )
s[k] = 1;
for( k = 0; k < Status.SIZE; k ++ )
s[Status.SIZE+k] = -1;
s[Status.SIZE+k] = 0;
firstStat = new Status(s0);
return firstStat;
}
public static void main(String args[]){
Status firstStat = initialStatus();
while(firstStat != null){
int i = 0;
Move move = new Move();
List statList = new ArrayList();//状态链表
statList.add(i++firstStat);
Status curStat1curStat2printStat;
do {
curStat2 = statList.get(i-1);
curStat1 = move.GetBestNextStatus(curStat2);
statList.add(i++ curStat1);
}while ( curStat1.hn != 0);
System.out.println(“在下面打印走步:“);
//调整输出的格式
int len=Status.SIZE*8;
for( int ii = 0; ii < len-Status.SIZE; ii ++ )
System.out.print(“ “);
System.out.print(“棋局状态“);
for( int ii = 0; ii < len; ii ++ )
System.out.print(“ “);
System.out.println(“耗散值 评估函数 “);
for ( int j = 0; j < statList.size(); j ++ ){
printStat = statList.get(j);
printStat.PrintStatus();
}
System.out.println(“ 共走了“+(statList.size()-1)+“步,最少耗散值为“+statList.get(statList.size()-1).gn+“。“);
System.out.println(“ “);
firstStat = initialStatus();
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-05-05 12:14 AI\
文件 301 2013-05-05 12:14 AI\.classpath
文件 378 2013-05-05 12:14 AI\.project
目录 0 2013-05-05 12:14 AI\.settings\
文件 629 2013-05-05 12:14 AI\.settings\org.eclipse.jdt.core.prefs
目录 0 2013-05-05 12:14 AI\bin\
目录 0 2013-05-05 12:18 AI\bin\ouc\
文件 2602 2013-05-05 12:18 AI\bin\ouc\AppMain.class
文件 433 2013-05-05 12:18 AI\bin\ouc\BoxMove.class
文件 1865 2013-05-05 12:18 AI\bin\ouc\DynamicShow$HitTestAdapter.class
文件 3106 2013-05-05 12:18 AI\bin\ouc\DynamicShow.class
文件 3002 2013-05-05 12:18 AI\bin\ouc\Move.class
文件 1778 2013-05-05 12:18 AI\bin\ouc\Status.class
目录 0 2013-05-05 12:14 AI\src\
目录 0 2013-05-05 12:18 AI\src\ouc\
文件 1830 2013-05-05 12:18 AI\src\ouc\AppMain.java
文件 168 2013-05-05 12:18 AI\src\ouc\BoxMove.java
文件 3044 2013-05-05 12:18 AI\src\ouc\DynamicShow.java
文件 2871 2013-05-05 12:18 AI\src\ouc\Move.java
文件 1321 2013-05-05 12:18 AI\src\ouc\Status.java
评论
共有 条评论