對戰電腦版踩地雷

使用技術:GWT、AppEngine for Java
作品展示:http://www.psmonkey.org/gwt-product/mine.jsp

AI 撰寫方式

下載「GWT 版踩地雷 source code」,寫一個 class 實做 org.psmonkey.product.server.mine.AI_Interface, 修改 org.psmonkey.product.server.mine.MineServiceImpl 中 ai 這個 field, 啟動 GWT 的 develop mode,就可以測試你的 AI 了 \囧/

相關 class/method

  • GameInfo
  • MineServiceImpl.shoot()、MineGM.shoot()
  • RandomAI.guess()
  • ConsoleTest (console 醜陋測試版)
  • AiArena(AI 自動對戰)

注意事項

  • MineGM.shoot() 並不會作任何防呆——也就是說——即使 map[x][y] != -1 或是 x, y 大於邊界值等等,也會受理並回傳 false。

投稿方式

請將您的大作寄到  
可以的話,歡迎隨信附上下列資訊:
  • AI 名稱(如果沒有,就會用 class 名稱)
  • 個人網址(排行榜 link 用)
  • ID or 暱稱(change log 上感謝用)
基本上,會先 test 您的程式碼,才會 deploy 到網站上,畢竟 appengine 是有可能要收錢的,如果您的演算法的運算時間太過可怕的話,可能就沒辦法實際放上網站使用 Orz。另外也會簡單 review 過您的程式碼,清除所有 System.out.print() 或是 Logger.log() 等行為、以及 appengine 才會出現的問題 Orz。

可以用個人名譽保證:絕對不會外流您的程式碼、也絕對不會去解讀您的演算法(讀人家的 code 是很痛苦的事情啊 T_T),請安心投稿 \囧/

MinePlayer 解說

mineRecord 中任一個檔案內容,複製到 MinePlayer 下方的 text area,然後按下「開始」,即可開始觀看對戰過程。「下一步」是一次只踩一個點,「下一回合」則是會一次踩完所有格子,直到踩空換手為止。

[戰績] 2010.09.29~?

張貼者:2011年9月4日 清晨7:36Ps Monkey   [ 已更新 2011年9月4日 清晨7:44 ]

退伍的時候發現網頁的 JavaScript 壞掉了,因為當兵時都沒有在檢查網站是否正常,所以也不確定是哪天開始死掉的 Zzzz...
後續有其他規劃,因此這個部份會暫時下架......

AI 排行榜:

AI 名稱 勝-負 勝率 得分 分差
tkcn 20-22 0.47 6 (0.14) -9 (-0.21)
UtilFunctionAI.1.3 7-34 0.17 6 (0.14) -405 (-9.87)
PsMonkey 14-36 0.28 9 (0.18) -246 (-4.92)
Gemini_v0.8.2 13-22 0.37 6 (0.17) -165 (-4.71)
RainyAI2 5-36 0.12 10 (0.24) -413 (-10.07)
LolAI 1-54 0.01 1 (0.01) -1098 (-19.96)
Wendly 19-16 0.54 7 (0.2) 99 (2.82)

玩家排行榜:

玩家名稱 出場 勝-負 勝率 得分 分差
ckfish0508 125 124-1 0.99 3237 (25.89) 2144 (17.15)
wang730901 38 32-6 0.84 954 (25.1) 405 (10.65)
blackfarmer 55 23-32 0.41 956 (17.38) -298 (-5.41)
a3029630296 18 12-6 0.66 390 (21.66) 36 (2.0)
justsmile1013 10 6-4 0.6 227 (22.7) 43 (4.3)
z24517456 9 6-3 0.66 201 (22.33) 20 (2.22)
huanjuihsu2 9 5-4 0.55 220 (24.44) 41 (4.55)
bluepeaceofsky 3 3-0 1.0 78 (26.0) 58 (19.33)
teamtarget1019 2 2-0 1.0 52 (26.0) 30 (15.0)
phoenix0530 4 2-2 0.5 90 (22.5) 5 (1.25)
cgmghn@hotmail.com 2 2-0 1.0 52 (26.0) 23 (11.5)
acyang0903 1 1-0 1.0 26 (26.0) 5 (5.0)
cms110237 5 1-4 0.2 103 (20.6) -28 (-5.6)
wxyn0798 3 1-2 0.33 46 (15.33) -13 (-4.33)
klmirtrw 2 0-2 0.0 22 (11.0) -32 (-16.0)
jenny.ph.yeh 2 0-2 0.0 23 (11.5) -31 (-15.5)
xthemet 4 0-4 0.0 23 (5.75) -81 (-20.25)
alfiexdunhill 1 0-1 0.0 17 (17.0) -11 (-11.0)
paulintoro 5 0-5 0.0 73 (14.6) -62 (-12.4)
nyc0125 1 0-1 0.0 11 (11.0) -17 (-17.0)

[戰績] 2010.09.29 單天

張貼者:2010年9月29日 清晨7:07Ps Monkey

AI 排行榜:

AI 名稱出場勝-負勝率得分分差
tkcn82-10.6678 (26.0)15 (5.0)
UtilFunctionAI.1.370-40.072 (18.0)-32 (-8.0)
PsMonkey132-30.4104 (20.8)-12 (-2.4)
Gemini_v0.8.270-10.012 (12.0)-14 (-14.0)
RainyAI2101-80.11146 (16.22)-84 (-9.33)
LolAI130-80.071 (8.87)-137 (-17.12)

玩家排行榜:

玩家名稱出場勝-負勝率得分分差
teamtarget10192722-50.81669 (24.77)220 (8.14)
jenny.ph.yeh22-01.052 (26.0)22 (11.0)
vincex.huang11-01.026 (26.0)22 (22.0)

2010.09.29

張貼者:2010年9月29日 凌晨3:00Ps Monkey

  • MineAi 資料格式改變,改善 mineAI_wanted.jsp 的效率。
  • 取消 MineAi 出場計算,只有登入玩家結束一場之後才紀錄戰績
  • Wendly AI 上傳

[戰績] ~2010.09.23 12:00

張貼者:2010年9月22日 晚上9:17Ps Monkey

AI 排行榜:

AI 名稱出場勝-負勝率得分分差
tkcn1464-460.08700 (14.0)-567 (-11.34)
UtilFunctionAI.1.11686-360.14745 (17.73)-321 (-7.64)
PsMonkey264-20.66156 (26.0)43 (7.16)
Gemini_v0.8.2217-01.0185 (26.42)98 (14.0)
RainyAI2333-80.27220 (20.0)-47 (-4.27)

玩家排行榜:

玩家名稱出場勝-負勝率得分分差
death10485766247-150.751450 (23.38)312 (5.03)
psmonkey4640-60.861177 (25.58)478 (10.39)
lee.ang.hua22-01.052 (26.0)22 (11.0)
Srjiang11-01.026 (26.0)11 (11.0)
xlk198241-30.2569 (17.25)-33 (-8.25)
rexkimta21-10.535 (17.5)-16 (-8.0)

2010.09.22

張貼者:2010年9月21日 上午11:24Ps Monkey

  • tkcn 新版 AI 上傳
  • kanandg1 新版 AI 上傳
  • (忘記還有哪些更新了 [核爆])

2010.09.21

張貼者:2010年9月18日 晚上11:44Ps Monkey

  • stimin 新版 AI 上傳
  • tkcn 新版 AI 上傳
  • AY 新版 AI 上傳(依然失敗 Orz)
  • kanandg1 新版 AI 上傳
  • 修正判斷勝負的公式,改為純粹整數運算提昇效率 XD(感謝 tkcn 提醒)
  • 製作 AiArena
  • 製作 MinePlayer
  • 重新 release source code

2010.09.18

張貼者:2010年9月15日 晚上8:58Ps Monkey

  • kanandg1 新版 AI 上傳
  • stimin AI 上傳
  • swind AI 上傳
  • 修正電腦把所有地雷全踩完造成的無窮迴圈
另外有 AY 投稿的 AI,但是因為會讓 AppEngine 炸 DeadlineExceededException,所以就先不放上去了 [淚目]

2010.09.10

張貼者:2010年9月10日 上午9:17Ps Monkey

  • 開始紀錄比賽資訊
  • 增加排行榜的功能
  • tkcn 新版 AI 上傳

2010.09.02

張貼者:2010年9月2日 凌晨1:13Ps Monkey   [ 已更新 2010年9月2日 晚上8:41 ]

  • tkcn(beta)、kanandg1 版 AI 上傳!
  • 將 AI 撰寫的說明文件抽到 wiki 這邊來。
  • 將 release 的 source code 增加註解。
  • MineGM.shoot() 增加 map[x][y]!=-1 直接 return false,以防 AI 作弊 lol
  • 被 tkcn 脅迫寫 console mode 的環境...... Orz

2010.08.26-2

張貼者:2010年8月26日 清晨6:39Ps Monkey   [ 已更新 2010年8月26日 清晨7:12 ]

之前地雷區的長、寬以及傳入 AI_Interface 的 xy[] 的寫法都太亂了(而且疑似有 bug),所以重新大整修
也把地雷區的產生方式回歸到傳統的作法(理論上比較節省時間跟空間)

另外加上「顯示電腦踩了哪幾個點」的功能

至於 blog 文章裡頭的程式碼... 就跳過 [逃]

1-10 of 12

ċ
map.rar
(66k)
Ps Monkey,
2010年9月21日 凌晨12:49
ċ
mine20100921.zip
(1580k)
Ps Monkey,
2010年9月21日 上午10:54
ċ
mineRecord20100921.rar
(4800k)
Ps Monkey,
2012年1月31日 清晨7:34