有沒有人知道如何以編程方式計算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
你想要統計所有「固體」區域,還是想要猜測玩家認爲屬於其中一個區域但可能包含敵方石頭的區域? –
如果只是識別某個區域是否與一種顏色和一種顏色的寶石相鄰,則應該能夠輕鬆地對其進行編程,以便用手指跟蹤並以適當的值標記區域。 –