下载链接:https://blog.csdn.net/nameofcsdn/article/details/119086279
这是一个人猫博弈的游戏,规则如下:
棋盘:9*9=81个点构成的棋盘,除了边界的32个点之外,里面的7*7=49个点每个点都有6个邻居
(也有的人做出来是11*11的棋盘,因为最早的版本是这样的,后面火起来的时候都是9*9的)
猫:猫每次走一步,如果走到边界就赢了
玩家:玩家每次增加一个路障,如果围住了猫最终就是玩家胜利
隐含规则:猫每次都会计算到达边界的最短路径,并且选择一条走出一步,下一步的时候又重新计算。
一般来说,博弈的一方的策略应该是自主的,并不能算是游戏规则,但是这个游戏比较特殊。
问题来了,猫应该如何在若干最短路径中选出一条?
贪心算法?随机算法?
实际上,不同的人做这个游戏的时候选择的算法都不一样,难度也就都不一样。
所以我认为,即使知道猫行走的规律,也不应该以此作为游戏规则的一部分,
这就好像你发现了某个围棋AI的一个缺陷,然后你找到了一个必胜它的方法,然后你就宣称你找到了围棋的必胜策略,这能行吗?当然不行的。
也就是说,我下面的讨论都是默认这样的规则:
猫每次都可以在所有最短路径中选择任意一条,而没有直线优先的限制。
新的问题又来了,在这个规则下玩家能否围住神经猫?
如果初始没有路障,或者路障全部集中在一起的话,玩家会输。
如果初始有几个路障,而且分散开来,玩家是可以赢的。
游戏策略:
当知道了猫肯定会往哪个方向走的时候,不要急着把这个方向堵死,先在周围设置路障,等猫走到走后一步再堵死。