【发布时间】:2014-10-23 12:15:43
【问题描述】:
我正在制作一个游戏,其中包含一个“瓷砖”表,其目的是将它们分成 2 x 2 的该颜色的块,有 16 种独特的颜色。我已经完成了游戏的这一部分,并想继续制作一个 AI 组件,它会为你完成游戏的最少步数提供建议。 我决定使用二维数组,这样它就可以识别每种颜色的位置,而不会直接影响电路板,我需要一些帮助。一旦我完成了数组,它应该做的是识别第一个图块的颜色并查找该图块的颜色并将它们与周围的块交换到右下方和下方和右侧。有人可以帮忙吗?
【问题讨论】:
-
人工智能是一个复杂的话题。至少阅读一本介绍性书籍或参加一些大学课程以熟悉它。
-
开始编码,如果您发现自己在任何时候都无法进一步进步,请随时再次来到这里。如果你不能自己开始,你绝对不应该这样做。
-
因此,您需要创建一个函数来生成所有可能的棋盘状态,这些棋盘状态可以从特定棋盘状态一次移动到。您需要能够对您的棋盘状态进行评分(或者至少能够检测到完成状态)。然后你需要实施广度优先搜索来找到最接近你当前棋盘状态的棋盘状态。您可能还需要考虑添加启发式度量来引导您的搜索朝着正确的方向发展。
标签: javascript arrays artificial-intelligence cell