[問題] "播放"圍棋棋譜的問題

看板java作者 (carl)時間16年前 (2008/08/04 01:11), 編輯推噓6(602)
留言8則, 4人參與, 最新討論串1/1
請問一下 我是想寫個JavaApplet 來播放圍棋棋譜 檔案格式 就以.sgf為主 雖然還沒到這個進度 不過還是想問一下: 判斷"氣"的話 怎麼判斷才好? 一塊棋如果氣都被沒了 那就代表要被提掉 然後每一手(步) 都要做氣的判斷..... 我的話大概會先設個二維陣列叫做main 空的代表0 黑代表1 白代表2 3表示已經尋訪過的 判斷要不要提子的方法就是用兩個遞迴的程式(一個是黑 一個是白) (先假設是黑) 先設一個廣域bool變數為false 另外複製上面那個二維陣列叫做copy 從copy第一格開始 判斷 如果是0,2,3的話跳過 1的話 就丟遞迴 從四個方向開始跑 ------------------------------------- 如果變數為true 就return 1就繼續遞迴 並設為3 2 和 3就return 0的話 設變數為true 並return -------------------------------------- 跑完第一格的之後 如果變數為true 就再跑一次遞迴 將這塊都設為0 接著移到下一格再重複上面的步驟... 跑完這361格之後 將copy 覆蓋到原來的陣列這樣 我在想速度會不會很慢啊= =a 因為還要再畫圖形........... 還是有其他什麼比較快的方法??@@ 另外 還有什麼需要注意的嗎 打劫的話 因為只有播放 所以應該沒什麼差@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.244.193.84

08/04 10:09, , 1F
有看過 Jago 的原始碼嗎?
08/04 10:09, 1F

08/04 13:10, , 2F
剛剛看了一下 還真是......看不懂 orz
08/04 13:10, 2F

08/04 13:19, , 3F
是啦,註解有點少,只能慢慢追....
08/04 13:19, 3F

08/04 19:28, , 4F
每一手棋只要判斷 會不會包住他上下左右的對手就好吧?
08/04 19:28, 4F

08/04 19:40, , 5F
嗯 好像有道理耶 這樣就只需要對四個方向做遞迴找就好了
08/04 19:40, 5F

08/06 11:17, , 6F
感覺每手都遞迴搜尋的話可能速度上會有問題,有沒有考慮過
08/06 11:17, 6F

08/06 11:19, , 7F
每個落子都有個屬性叫"氣"...然後新落子會參考鄰近己方的
08/06 11:19, 7F

08/06 11:22, , 8F
氣數.然後同步更新~ 怕同步數量多的話還有其他解決方法XD
08/06 11:22, 8F
文章代碼(AID): #18bUQxlM (java)