资源简介
人工智能课程资源,用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
相关资源
- 北航人工智能原理课大作业源代码,
- A*算法的2D演示(带源码)
- 简单A*算法罗马尼亚度假问题
- A*算法和基于深度优先的八数码问题
- A*算法解决旅行商问题
- A*算法旅行商问题实验报告和代码
- A*算法的具体思想我见过的写的最好的
- A*算法 计算九宫格数字移动问题
- 基于A*算法的路径规划
- 传教士和野人问题(MC问题)的A*算法
- 通过alpha-belta剪枝的极大极小值算法实
- A_StarSearch.rar
- 基于栅格化的A*路径算法规划基于Si
- A*算法解决传教士与野人过河问题可运
- 非常完整的A*算法具体代码
- A*算法实现迷宫问题
- A星算法详解包含测试
- 实验报告三
- A*算法 js实现
- 基于A*算法的3*3拼图
- A*算法的实现 路径规划
- Dijstra算法与A*算法的比较
- 八数码 A*算法 附报告
- 基于A-StarA*算法的机器人路径规划
- A*算法源码
- 分别用宽度优先、深度优先、贪婪算
- A算法和A*算法
- A*算法整个代码
- 人工智能实验报告超完整版 含宽度、
评论
共有 条评论