首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于AI的小疑点

2012-03-24 
关于AI的小问题char[][]matrix{{ # , # , # , # , # , # , # , # , E , # ,},{ # , . , # , . , # , # ,

关于AI的小问题
char[][]   matrix   =   {
{ '# ', '# ', '# ', '# ', '# ', '# ', '# ', '# ', 'E ', '# ',},
{ '# ', '. ', '# ', '. ', '# ', '# ', '. ', '# ', '. ', '# ',},
{ '# ', '. ', '# ', '. ', '# ', '# ', '. ', '# ', '. ', '# ',},
{ '# ', '. ', '# ', '. ', '. ', '. ', '. ', '. ', '. ', '# ',},
{ '# ', '. ', '. ', '. ', '. ', '# ', '. ', '# ', '# ', '# ',},
{ '# ', '. ', '# ', '# ', '. ', '# ', '. ', '# ', '# ', '# ',},
{ '# ', '. ', '# ', '# ', '. ', '. ', '. ', '. ', '. ', '# ',},
{ '# ', '. ', '# ', '# ', '. ', '# ', '# ', '# ', '. ', '# ',},
{ '# ', '. ', '. ', '. ', '. ', '. ', '. ', '. ', '. ', '# ',},
{ '# ', '# ', '# ', '# ', 'S ', '. ', '# ', '# ', '. ', '# ',},
{ '# ', '# ', '# ', '# ', '# ', '# ', '# ', '# ', '# ', '# ',},};

假设一个人PERSON在上述矩阵迷宫中,要从S处出发到达E,其中, "# "表示墙,不可以通过, ". "表示道路可以通过,怎么样可以模拟PERSON从S寻找出口E的过程,PERSON主要是需要能具有判断道路的简单AI,请问如何JAVA实现。(特别注意,不是寻找最短,或最优路径)。谢谢,望指教。


[解决办法]
沿着墙走
往下不行(比如是#)就往右,往右不行就往上,如此类推
次序
下右上左
这样就可以找到了
[解决办法]
网上搜一下A*寻路算法,我记得好像有java版本的在网上
[解决办法]
回溯算法就可以把?找本数据结构看就知道了
[解决办法]
出口E的坐标为(0,9)出发点S的坐标为(9,4),那么我们要将S的坐标从9变为0,4变为9。首先对S的9进行自减工作即往上走,如遇到#,则对4进行自加,即往右走。如果两个都走不通,则往下走,下不通则往左,在往下或左行走的过程中,要将上一步的坐标的地点设置为#,即不可以再往回走,以免出现反复走的情况。

热点排行