【发布时间】:2018-04-10 07:39:26
【问题描述】:
我是编码新手,两个多月没有编码了。 对于我的任务,我正在逃离迷宫算法。 用户定义了一个二维数组和一个起点,然后程序必须采取破坏性最小的路线才能找到出路。 “AI”只能向北、向东、向南或向西移动。它可以从数组的任何边缘逃逸。
Enter the starting x coordinate: 2
Enter the starting y coordinate: 4
0 1 4 2 6 0 1
1 7 4 2 2 6 0
0 0 0 8 * 4 1
1 1 2 7 3 4 2
5 1 6 4 2 2 1
在此示例中,用户已选择 [2,4] 作为数组的起始位置(请记住,索引从 0 开始)。 AI 可以从阵列的任何边缘逃脱。它将要为每个动作选择最小的整数。在本例中,AI 将向上移动 2,然后向左,然后向上。因此,总共需要“6点伤害”才能退出阵列。
我的问题是比较北方是否小于东方,如果北方小于东方,它是否小于西方?还是南方?如果东方小于北方,它是否小于西方?还是南方? & 等等等等。 我不确定我是否以正确的方式处理这个问题。 我的尝试可以在下面的 hastebin 链接的第 44 - 78 行找到。 我不知道我在做什么。
我创建了一个int minimumValue;,但我不确定如何使用它,或者在哪里使用它。如果boardArray[north][currentY] < boardArray[east][currentY] 那么boardArray[north][currentY] 我的新最小值是否正确?然后我还需要编写代码将其与西部和南部进行比较。我觉得必须有一个更简单的方法来解决它。
我尝试了谷歌搜索解决方案、Reddit、The Coding Den discord 服务器,但我根本无法解决这个问题。
我们将不胜感激!
【问题讨论】:
-
什么是“破坏性最小的路线”以及如何比较“北方是否小于东方”?问题的定义不明确。
-
欢迎来到 Stackoverflow。阿法辛说的是真的。您的问题定义不清楚。使用您在评论部分发布的详细信息更新您的答案。另外,在定义问题本身时发布您认为重要的代码 sn-ps,就像您在第 44 到 78 行所说的那样。这将帮助其他人快速完成您迄今为止尝试过的事情。
-
你还没有解释“破坏最小的路线”是什么意思,从哪里到哪里的路线?入口点在哪里,出口点在哪里?你如何确定它们。正如 Sajib 所写:请改进帖子本身 not 在 cmets 部分中对问题的描述。如果您不费心使您的问题易于理解和跟进,人们将不会费心帮助您...帮助我们帮助您!
-
我已经编辑了我的原始帖子!我道歉。我希望我这次解释得更好。
标签: java arrays algorithm multidimensional-array maze