有没有人知道如何以编程方式计算Go游戏中的分数? 我有一个19x19的数组,这个数组的每个元素可以是0(空点),1(黑色石头)或2(白色石头)。我不明白我如何检查该区域属于任何颜色。计算游戏“GO”的分数
2
A
回答
1
这是一个不平凡的问题,因为通常Go游戏会在玩家完成必要的所有动作之前结束,以明确游戏的“真实”分数/值。有时候,假设一个玩家未达到最佳状态(例如,让对手完成一套在对手领土内有生命的宝石,即使可能杀死一组宝石),游戏的价值也会不同。计算原始未入侵区域相当明显,只需通过棋盘边缘或一种颜色的棋子检查每个可能的方向组合(正面和负面的水平和垂直)中的每个空间是否“切断”。您可以通过从空白处开始宽度优先搜索来更高效地执行此操作,并且可以跟踪处理过程中遇到的哪些颜色(不会从占用的斑点遍历BFS),并且一旦找不到更多的空白斑点,那么如果发现的彩色片都是一种颜色,那么发现的所有空白区都属于该颜色,否则它们不属于任何人。然后继续广度优先搜索与下一个未被发现的空白点,删除所有以前探索的空白点。但是,如果对手在已经建立的领土上有一块棋子,那么在计算领土时理想情况下应该忽略这块棋子,事实上甚至被视为被俘。如果显而易见的是,如果玩家在没有犯错的情况下玩出一组对手的棋子,那么他们最终会被抓住。如果两个球员都有一组棋子与另一个棋子相邻,那么情况就更加微妙了,这样棋子就具有了“相互的生命”,即如果一个棋手试图做出努力杀死对方的棋子,那么对手将能够杀死原始棋手的棋子,反之亦然。
相关问题
- 1. 玩Go游戏的算法?
- 2. JAVA - Go游戏算法
- 3. 游戏计算FPS
- 4. 计算棋盘游戏领土背后的逻辑(GO)
- 5. 足球博彩游戏 - 积分计算
- 6. 计算机猜谜游戏
- 7. c# - 计算 - RNG游戏
- 8. 飞镖游戏计算
- 9. Java游戏,计算曲线
- 10. 在游戏中计算每秒帧数
- 11. Python猜谜游戏,计算猜谜数
- 12. 按游戏数量计算的加权赢率百分比
- 13. 计算得分/测验游戏的积分
- 14. 云计算中的GPU - 录制游戏
- 15. 计算游戏中的距离
- 16. 旋转计算或游戏的阻力?
- 17. 上传游戏得分和计算百分点
- 18. 数字游戏算法
- 19. 计划/估算游戏中的“尖峰”如何计算?
- 20. Go(weiqi,baduk)游戏的良好框架?
- 21. JTable特定游戏计算器
- 22. Python - 在RPG游戏中计算步骤
- 23. 计算机猜猜游戏JavaScript
- 24. 多人游戏子弹计算
- 25. 在SpriteKit游戏中计算速度
- 26. C#保龄球游戏计算问题
- 27. 游戏生活,计算邻居Java
- 28. rock paper sicssors游戏计算机说null
- 29. 计数游戏问题
- 30. 计数器乘法游戏
你到目前为止尝试过什么?请编辑您的问题并添加您的尝试,以及您卡住的位置。 – skirato
你想要统计所有“固体”区域,还是想要猜测玩家认为属于其中一个区域但可能包含敌方石头的区域? –
如果只是识别某个区域是否与一种颜色和一种颜色的宝石相邻,则应该能够轻松地对其进行编程,以便用手指跟踪并以适当的值标记区域。 –