JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java 程式分享區 » Game  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Re:[遊戲] Godzilla - 玩圍棋程式 [Re:angelsky94]
worookie

Small Ship

版主

發文: 2092
積分: 21
於 2005-04-20 12:45 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
angelsky94 wrote:
不好意思,我研究了二天
一點頭緒都沒有


不要灰心. 當初我在開始寫程式之前, 是先花了好幾個月的時間用一般的文字先把程式的架構描述出來, 該文字架構也就是您馬上就可以看到的底下的文字描述, 雖然只有短短幾百個字, 但卻是我好幾個月的心血結晶. 所以您只花兩天, 當然是一點頭緒都沒有了. 加油.


你是否可以給我一些方向,謝謝


我剛找了一下以前我寫的所有文字的最終版本資料, 給您參考如下.
不過要注意的是該文字資料主要是用在我在準備寫程式之前所寫的, 那在寫程式的過程中, 多少我都會改些邏輯的東西, 但我不見得會回頭來改我之前寫的那些文字資料. 換句話說, 最終版本也最精確的資料, 仍然是那些程式碼, 而不是那些文字資料.

=================================================

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
盤末記算地域
 
    * 2 consecutive passes means ending game
 
    * players pick up dead lumps
          o remove dead color lumps
          o create new vacant lumps
          o update lumps: combine connected vacant lumps
          o update neihoods
          o update gangs
 
    * once picking up dead stones is done, then count the territory
 
    * 將所有同時為黑白氣 (isNeiOfBothColors) 的 VacantLumps 標示出來, 這些都絕對不是地, 剩餘的才可能是地.
 
    * 找出所有的 Gang's:
          o Gang 就是由氣所連結在一塊的同色 ColorLumps 和那些 VacantLumps
          o Gang 中的 VacantLump 的鄰居都是 buddy lumps.
          o 對 boardStatus 中的每個 Black/White Lump
          o 對其每個 non-isNeiOfBothColors VacantLump, 連結其 buddy lumps
          o 重複上述步驟直到通通找完
 
    * 盤末判斷 Gang 是否有地:
          o 注意名詞的意義:
                + 兩眼的活叫淨活, 大單眼的活有穩活或雙活
                + 淨死 vs 穩死
          o 盤末時會人工取死子, 故死棋不用電腦判斷.
          o 底下的分析皆須先排除 ConnectQis
          o 0 PossibleEyeLump 為淨死或雙活 -> 盤末視為雙活, 沒地.
          o 1 PossibleEyeLump 時為淨死, 穩死, 雙活, 或穩活:
                + 若為 1 目空: 淨死或雙活 -> 盤末視為雙活, 沒地.
                + 若為 2 目空: 淨死或雙活 -> 盤末視為雙活, 沒地.
                + 方塊四: 穩死或雙活 -> 盤末視為雙活, 沒地.
                + "三目", "T四", "刀五", "叉五", "魚六", "蝶七": 可補活. 盤末時, 對方不下, 自己又不補棋, 表示不補即可殺對方某些子而淨活, 否則違反棋理; 但是對方被殺的棋子理應被人工拿掉, 故矛盾, 故這些情況在盤末不會發生.
                + 角上特例: "盤角曲四", "角方塊六", 等等: 可補活. 盤末時, 對方不下, 自己又不補棋, 表示不補即可殺對方某些子而淨活, 否則違反棋理; 但是對方被殺的棋子理應被人工拿掉, 故矛盾, 故這些情況在盤末不會發生.
                + 條四, 蛇四, L四, 非刀五的五目, 非領帶六的六目, 非蝴蝶七的七目, 八目以上: 穩活 -> 有地
          o 2 PossibleEyeLumps -> 盤末時, 雙活雖然是有可能, 但是敵方需犧牲至少一子來破眼而造成假眼, 犧牲一子在記地上有差一子, 故盤末人工取完死子後, 雙活的情況不該發生. 故視為活, 有地.
          o 3 PossibleEyeLumps -> 盤末時, 雙活雖然是有可能, 但是敵方需犧牲至少二子來破眼而造成假眼, 盤末不會發生. 故視為活, 有地.
          o 4 or more PossibleEyeLumps -> 活, 有地.
 
    * FalseMu: 唯一的氣可讓某一 ClrLump (或由 ClrLumps 和 FalseMus 所連成的串) 連到 Gang.
 
盤中紀錄空白塊
 
    * 吃子時:
          o 每個死去的 lump 都變成 NONE color
          o 落子處所在的 posit 的所屬 vacant lump, 要判斷該 lump 有沒有被切割並記得要排除該落子於該 lump 中.
 
    * 非吃子時:
          o 落子處所在的 posit 的所屬 vacant lump, 要判斷該 lump 有沒有被切割並記得要排除該落子於該 lump 中.
 
    * Pass 時: 不變
 
如何判斷某 vacant lump 有沒有被新落子所切割:
 
    * 依序對落子旁每一個 vacant stone
    * 重新搜尋其所屬的 lump
    * 對下一個 vacant stone, 先判斷其有否在任一個上面新找出的 lump 中
    * 有在的話就跳過, 沒有的話, 就是有被切割到了, 重複回到第二步去重新搜尋其所屬的 lump
 
如何搜尋某子所屬的 lump:
 
    * 依序對其四個 neighbor 判斷是否同色, 並作記號表示判斷過, 下次遇到時就不用再判斷了.
    * 是同色的話就加入 lump 並對加入的新 stone 遞迴第一步驟.


電腦圍棋程式落子提子的處理:

底下這是電腦圍棋程式在盤中針對人類落子時所需做的判斷流程

# Handle pass move.
# Handle stone occupied already.
# Make sure it is not KoViolated.
# Update the color of this stone. (The color could be reset to NONE later if MOVE_ERR_SUICIDE.)
# Create this new Move.
# Analyze adjacent enemy lumps and update if isEatingMove.
# Analyze our lumps to find out if it is MOVE_ERR_SUICIDE.
# Update when !isEatingMove: gameStatus.setPositionStoneKoProhibited(null)
# Update veLumpEnemyAliveWithThisAsBreathStone.
# Update our lumps/breaths:
# Update this stone: stone.nullifyLumpsWithThisAsBreathStone()
# Update inHistCount, time, and gameHist.


worookie edited on 2005-04-20 13:28
reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
29523 [遊戲] Godzilla - 玩圍棋程式 worookie 865 2004-09-03 01:32
24548 Re:[遊戲] Godzilla - 玩圍棋程式 leacks 95 2005-02-08 18:00
23988 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 222 2005-02-08 22:11
23073 Re:[遊戲] Godzilla - 玩圍棋程式 javahk 37 2005-04-09 18:53
23042 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 111 2005-04-10 10:33
23084 Re:[遊戲] Godzilla - 玩圍棋程式 angelsky94 115 2005-04-13 10:56
22905 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 212 2005-04-13 11:04
22926 Re:[遊戲] Godzilla - 玩圍棋程式 angelsky94 19 2005-04-13 14:57
22900 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 176 2005-04-13 17:18
22863 Re:[遊戲] Godzilla - 玩圍棋程式 angelsky94 27 2005-04-18 11:08
22848 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 312 2005-04-18 12:10
22813 Re:[遊戲] Godzilla - 玩圍棋程式 angelsky94 317 2005-04-20 10:54
23164 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 3481 2005-04-20 12:45
22590 Re:[遊戲] Godzilla - 玩圍棋程式 angelsky94 3467 2005-05-03 14:32
22455 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 136 2005-05-03 14:47
22505 Re:[遊戲] Godzilla - 玩圍棋程式 angelsky94 145 2005-05-03 15:13
22434 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 178 2005-05-03 15:26
22601 Re:[遊戲] Godzilla - 玩圍棋程式 angelsky94 142 2005-05-03 16:05
22476 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 199 2005-05-03 16:36
22872 Re:[遊戲] Godzilla - 玩圍棋程式 angelsky94 69 2005-04-18 17:04
22542 Re:[遊戲] Godzilla - 玩圍棋程式 javahk 74 2005-05-01 11:41
22489 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 229 2005-05-03 15:30
22392 Re:[遊戲] Godzilla - 玩圍棋程式 njupthanxue 75 2005-05-12 10:41
22351 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 298 2005-05-12 11:35
21601 Re:[遊戲] Godzilla - 玩圍棋程式 angelsky94 216 2005-06-22 08:27
20759 Re:[遊戲] Godzilla - 玩圍棋程式 lukapp 102 2005-08-30 00:22
20768 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 174 2005-08-30 00:27
20767 Re:[遊戲] Godzilla - 玩圍棋程式 lukapp 40 2005-08-30 00:56
21300 Re:[遊戲] Godzilla - 玩圍棋程式 lekaha 211 2005-08-30 18:39
23975 Re:[遊戲] Godzilla - 玩圍棋程式 leacks 194 2005-02-09 19:44
23905 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 613 2005-02-09 20:08
21319 Re:[遊戲] Godzilla - 玩圍棋程式 lukapp 240 2005-08-30 22:05
15892 Re:[遊戲] Godzilla - 玩圍棋程式 gy戰士 26 2007-11-02 22:42
7149 Re:[遊戲] Godzilla - 玩圍棋程式 jpe 59 2010-03-10 13:29
7394 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 108 2010-03-10 14:56
23897 Re:[遊戲] Godzilla - 玩圍棋程式 leacks 257 2005-02-10 22:19
23752 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 284 2005-02-11 05:27
23957 Re:[遊戲] Godzilla - 玩圍棋程式 leacks 19 2005-02-11 08:20
23654 Re:[遊戲] Godzilla - 玩圍棋程式 zeek1437 0 2005-02-15 13:02
23665 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 195 2005-02-15 13:10
23539 Re:[遊戲] Godzilla - 玩圍棋程式 i25959341 45 2005-02-24 16:17
23551 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 246 2005-02-24 22:34
23686 Re:[遊戲] Godzilla - 玩圍棋程式 abc4160 412 2005-02-27 00:05
23518 Re:[遊戲] Godzilla - 玩圍棋程式 Duncan 300 2005-02-27 01:31
22753 Re:[遊戲] Godzilla - 玩圍棋程式 javahk 13 2005-04-19 20:59
22675 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 94 2005-04-19 22:33
23033 Re:[遊戲] Godzilla - 玩圍棋程式 javahk 34 2005-04-08 17:11
22965 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 141 2005-04-09 11:19
20745 Re:[遊戲] Godzilla - 玩圍棋程式 lukapp 142 2005-08-29 23:01
20764 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 234 2005-08-29 23:18
20733 Re:[遊戲] Godzilla - 玩圍棋程式 lukapp 69 2005-08-29 23:46
21003 Re:[遊戲] Godzilla - 玩圍棋程式 worookie 130 2005-08-30 00:17
» JWorld@TW »  Java 程式分享區 » Game

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8