algorithm - 简单游戏的获胜策略算法[2名玩家在网格场上移动]

标签 algorithm

我正在寻找这个游戏中的获胜算法:
- 游戏在网格上进行(我们可以说它是无限网格)
- 有两个玩家,1(橙色)开始,他的移动正好是 1,玩家 2(绿色)是第二个,他的移动正好是 2,他们轮流
-第二个玩家的目标是到达起点(即使玩家 1 到达那里他也赢了)
-第一个玩家的目标是永远不要到达起点或以某种方式阻止游戏所以没有更多的移动
-他们不能通过他们已经去过的路径(点)

这里是游戏的一些例子(在游戏 3 中橙色玩家获胜,因为没有更多的移动)

enter image description here

如果您对此有任何帮助,我将不胜感激(如果这是已知的已解决算法或伪代码,或者只是可以理解策略的简单文本,请链接)
谢谢
米,

最佳答案

试试这个:

由于橙色玩家只移动一个,所以向远离起点方向的方向移动。 1.最初移动顶部(建议), 绿色在移动后最终可能得到 7 分。检查从当前点开始的方向。 2. 如果它在起点的左下角,将橙色向下或向左移动。这样你就永远不会向起点移动。

为了进一步改进这一点,您可以将到此为止的所有 Action 存储在数据库中,并根据以下内容决定是向下移动还是向左移动(在第 2 步中):

if there are more number of moves to the left of the current position, compared to those to the bottom of the current position ----> move down else move left.

PS:初始 Action 可以是任何 Action 。策略是远离并避免卡在移动之间。

关于algorithm - 简单游戏的获胜策略算法[2名玩家在网格场上移动],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20467412/

相关文章:

algorithm - Congos TM1 中的稀疏合并算法

javascript - 如何使用给定字符串在二维数组中找到所有可能的组合

algorithm - 具有任意大小递归调用的算法的运行时间

javascript - typescript : determine if 2 lists have at least one common element

algorithm - 沿着兴趣点寻找路线

java - 用于文本分类的质心算法,工具?

c - MPI_Cart_shift 不返回邻居

将审稿人分配给有关其首选主题的论文的算法

algorithm - 房屋贷款计算公式(算法)?

java - 从数组元素的组合中求和