2010-01-28 106 views
6

这是我一直在玩弄一个星期左右的问题,提出了通过同事:算法的策略游戏

试想一个游戏一个 36x36 grid播放。游戏的目标是创建任意大小的正方形的四个角(例如,2x2,3x3,4x4等)。第一位玩家在除了中心四个网格空间之外的任何地方放置游戏。第一步之后,玩家可以将他们的游戏片放在网格的任何位置。游戏片段放置后无法移动。就是这样;游戏简单而有趣。

我一直在想出一个算法来赢得比赛,或者至少在这场比赛中表现不错。有什么建议么?

+0

我认为你只需要在广场角落有棋子赢得胜利,并且你不能在对手已经移动的空间中移动?广场必须与轴线对齐,还是45度角的方格才能赢得比赛? – 2010-01-28 02:02:46

+1

1x1也是一个正方形,尽管如此,如果你第一次参加游戏,游戏会很容易赢得:-) – paxdiablo 2010-01-28 02:04:52

+1

为了继续Jason的问题,什么构成了“任何大小的广场?”。四角,一个正方形的轮廓,一个坚实的瓷砖? – John 2010-01-28 02:05:51

回答

7

这是一个完美信息的游戏,玩家轮流使用象棋,所以国际象棋引擎中使用的相同方法适用于此。使用minimax(可能有alpha-beta pruning)算法来搜索有效移动的树。您可以使用一些评估函数来指导您的搜索,并倾向于拥有最接近完成方格的职位。

0

好吧我正在阅读垃圾进入游戏..作为它的含糊.. 我假设这个游戏类似于“点和线”,其中移动空间是用一条线连接2个相邻的点。所以2x2网格将有9个顶点,4个1x1胜出位置和1个2x2胜出位置。随着比赛结束,对于完成正方形的人而言,双方的球员都会耗尽可怕的解决方案。

因为你的工作广场的一些逻辑很好。你可以计算任何行的成员资格到所有可能的框。所以在2x2的例子中,一个辐射会有2个1x1的盒子的成员资格,而一个边会有一个1x1和一个2x2的成员资格。这个成员变得很重要。

在游戏开始时,您会为所有线段生成所有成员资格。使2副本(如打战舰)ENEMY COPY将被启动到他已经离开的圈数以完成每个箱子..等36x36将会有144个动作离开完成大箱子 4套140moves来完成4个35x35的盒子

在他的移动过程中,你减少了敌人的所有受影响的盒子 在你移动的任何移动过程中,你使所有包含移动的盒子失效。你设置这些为负1,或无限或20亿......只是要知道这些方块是不可能的。

你现在创建一个反敌方副本,它是敌方副本的反面..这包含完成一个给定方块的移动次数。

对于给定的举动..首先检查赢的情况。如果你能移动并赢得胜利。 (与一个正方形对抗) 然后检查是否需要一个块。 (与任何一个敌人方板),如果你这样的倾向

现在增加一个极小型功能..

或使用搜索发现,摧毁许多小正方形完成尽可能的位置,或创建一个行这可以减少反敌方板上的多个低方格。这应该是合理的,因为它不是试图完成任何特定的广场,而是一个极小的极端,在这两个场合你的低分都会是一个更好的场景。

3

和FogleBird一样写了Minimax算法效果最好。问题是如何评估当前董事会的得分。这场比赛非常复杂,有超过一千个场地开始。在像井字游戏这样的小游戏中,您可以计算所有可能的移动,直到搜索树的最小极限(minimax)结束为止,然后给予1分给胜出玩家,-1给失败并回溯树,找到最佳移动。在这个游戏中,你需要某种heuristic来计算三个10步之后的棋盘得分。

我没有关于游戏的很多信息,所以我只能猜测不错的启发式:因为完成平方

  • 点(如果你能得到更多然后一平方),这将是因为最简单的方法因为你的敌人完成平方你的启发,直接关系到游戏点数
  • 减分
  • 数量可能平方在板的两侧
  • 号国有领域的
  • 小社区拥有的田地数量

有很多启发式可能,大多数时候你需要混合其中的一些。

2

您是否需要填充广场或将其放置在角落?

例如,下面是一个胜利?

....................... 
.X..X.................. 
....................... 
....................... 
.X..X.................. 
....................... 

或以下?

....................... 
.XXXX.................. 
.X..X.................. 
.X..X.................. 
.XXXX.................. 
....................... 

或以下?

....................... 
.XXXX.................. 
.XXXX.................. 
.XXXX.................. 
.XXXX.................. 
....................... 
+0

我一定会希望如此,因为在第一场比赛中很容易赢得胜利 – 2010-01-29 00:43:29

+0

这三者中的任何一个都将构成胜利 – Gideon 2010-01-30 04:39:58