Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要android java*寻路帮助_Java_Android_Path Finding - Fatal编程技术网

需要android java*寻路帮助

需要android java*寻路帮助,java,android,path-finding,Java,Android,Path Finding,我遇到了以下链接: 作为测试,我已经让代码正常工作了,但是我 不确定如何更改目标节点--默认值为bottom 是的,但我不确定您将如何将其更改为其他行/列 谢谢看来目标是在函数中定义的 protected boolean isGoal(Node node){ return (node.x == map[0].length - 1) && (node.y == map.length - 1);

我遇到了以下链接: 作为测试,我已经让代码正常工作了,但是我 不确定如何更改目标节点--默认值为bottom 是的,但我不确定您将如何将其更改为其他行/列
谢谢

看来目标是在函数中定义的

            protected boolean isGoal(Node node){
                            return (node.x == map[0].length - 1) && (node.y == map.length - 1);
            }

将其更改为您的需要。

我认为问题在于代码的这一部分:

protected List<Node> generateSuccessors(Node node){
                List<Node> ret = new LinkedList<Node>();
                int x = node.x;
                int y = node.y;
                if(y < map.length - 1 && map[y+1][x] == 1)
                                ret.add(new Node(x, y+1));

                if(x < map[0].length - 1 && map[y][x+1] == 1)
                                ret.add(new Node(x+1, y));

                return ret;
}


它可以工作,但执行速度非常慢,有没有减少执行时间的建议?

谢谢--另一个问题是代码没有找到所有路径,它似乎只能从左到右扫描路径,而不是说全部,您或其他人知道更改有多容易吗?代码非常适合我想要的,除了它只从左到右扫描之外……Thansk您是指算法的起始位置吗?您可以在节点构造函数中更改它。不,我的意思是代码似乎只找到从左上到右下的路径,而不是例如left-right-left-left-down-left,即使数组中有1的有效路径。谢谢
if(y > 0 && map[y-1][x] == 1)
                ret.add(new Node(x, y-1));
if(x > 0 && map[y][x-1] == 1)
                ret.add(new Node(x-1, y));