所以我有一个带有函数findViableMoves(base)
的游戏。如果我在一开始用参数base
调用这个函数,我会得到一个输出[move1, move2 ... moven]
,它表示用户可以执行的所有n个可行的移动,并给出状态base
。(实际上有两个根移动)
在执行移动时,比如说move2
-base根据移动而改变,函数再次被调用,现在我们有了[move21,move22 .... move2n].
findViableMoves(base)的输出
如果你看这个图,情况非常相似-没有循环,它只是一个普通的树。我需要一个程序,执行深度优先搜索(我想?)在所有可能的移动上,给定开始状态base
,然后以列表形式返回:
[[move1,move11,move111],[move1,move11,move112],....[moven,moven1,moven11],...]
这些列表中会有更多的元素(最多14个),但我想知道是否有人能提供一些提示,告诉我如何构建一个算法来实现这一点?效率对我来说并不重要,因为没有太多的途径,我只想现在就完成。你知道吗
我不是100%清楚你在追求什么,但是如果你有一个列表或者类似的iterable,在循环发生的时候它正在改变,你可以尝试下面的方法。你知道吗
此示例允许列表和循环条件在循环执行期间保持动态。你知道吗
提供不同长度的输出,如下所示:
相关问题 更多 >
编程相关推荐