所以即時製作桌面遊戲GO的JavaScript和即時通訊計數領域的麻煩。如果你不知道,GO就像是一個複雜的棋子,你可以水平和垂直放置石塊而不是對角線。當遊戲結束並且你製作了寶石邊框(棋盤邊緣算作任何人)時,就會出現一個區域。計算棋盤遊戲領土背後的邏輯(GO)
所以上面的圖片是我到目前爲止所。
白色=玩家1,黑色=玩家2,綠色=領土
所以綠色只配備在比賽結束。比賽現在已經結束,黑方控制了2名囚犯的董事會左上角。裏面的小組已被識別並着綠色。問題是,我怎麼知道綠色領土屬於哪個球員?
任何人都可以看到黑色擁有領土的所有邊/邊界(記住董事會的邊緣是任何人)。當內部有囚犯時,它開始變得艱難。我可以檢查每個綠色細胞旁邊的每個細胞。如果有黑色和白色,它不是一塊領土,但如果有囚犯的話,這不會奏效。
單向即時思考可能是一種選擇,即嘗試識別繞過它的邊界。如果我能做到這一點,我可以輕鬆地檢查它是誰的領土。使用正方形,圓形或任何變形的形狀計算邊界peices會很容易?我不確定。
任何幫助appriciated :)
你將不得不爲它創建自己的算法 – user7951676
好吧,我收集了這個,但那個算法的邏輯是什麼?我只是意識到,我可以滾動組中的每個人。如果它的四面都是綠色的,那麼它的中間就可以移除以識別邊界。不知道這是否會與檢察官 –
我不知道Go的工作原理。你是否需要找到劃分板塊的路徑(因爲你說的是floodfill) - 檢查[這個問題](https://stackoverflow.com/questions/2631576/using-recursion-to-find-paths-in-a -2d-array) – James