資源簡介
基于JAVA語言的五子棋游戲設計,包括GUI界面,人機對戰所需要的AI(比較簡單易懂),也加入了包括人人對戰選擇白黑子先后手選擇以及中途認輸的功能。

代碼片段和文件信息
package?wuziqi;
?
import?java.util.HashMap;
?
public?class?AI?implements?Gobang?{
static?HashMap?map?=?new?HashMap();
static?{
?
/**
?*?權值
?*/
//?防守權值
//?活1連
map.put(“010“?20);??//map.put(keyvalue)?key=鍵?value=值
map.put(“0-10“?10);
//?眠1連
map.put(“-110“?1);
map.put(“1-10“?1);
//?活2連
map.put(“0110“?200);
map.put(“0-1-10“?100);
//?眠2連
map.put(“-1110“?20);
map.put(“1-1-10“?10);
//?活3連
map.put(“01110“?7000);
map.put(“0-1-1-10“?5000);
//?眠3連
map.put(“-11110“?50);
map.put(“1-1-1-10“?30);
//?活4連
map.put(“011110“?10000);
map.put(“0-1-1-1-10“?10000);
//?眠4連
map.put(“-111110“?10000);
map.put(“1-1-1-1-10“?10000);
//?碰壁眠4連
map.put(“11110“?10000);
map.put(“-1-1-1-10“?10000);
?
?//進攻權值
?//活1連
?map.put(“010“10);
?map.put(“0-10“20);
?//眠1連
?map.put(“-110“1);
?map.put(“1-10“1);
?//活2連
?map.put(“0110“?100);
?map.put(“0-1-10“200);
?//眠2連
?map.put(“-1110“10);
?map.put(“1-1-10“20);
?//活3連
?map.put(“01110“?5000);
?map.put(“0-1-1-10“7000);
?//眠3連
?map.put(“-11110“30);
?map.put(“1-1-1-10“50);
?//活4連
?map.put(“011110“?10000);
?map.put(“0-1-1-1-10“10000);
?//眠4連
?map.put(“-111110“10000);
?map.put(“1-1-1-1-10“10000);
?//碰壁眠4連
?map.put(“11110“?10000);
?map.put(“-1-1-1-10“?15000);
}
?
static?String?code;
static?Integer?weight;
?
public?static?void?Quan()?{
for?(int?r?=?0;?r? for?(int?c?=?0;?c? if?(array1[r][c]?==?0)?{//?如果該位置沒有棋子則開始統計
code?=?countHL(r?c);//?調用水平向左統計的方法
weight?=?map.get(code);//?根據棋子相連情況獲取對應的權值
if?(weight?!=?null)?{//?判斷是否有該種棋子相連的情況
weightArray[r][c]?+=?weight;//?累加權值
}
//?把另外七個方向統計完畢后,就完成權值統計
code?=?countHR(r?c);//?調用水平向右統計的方法
weight?=?map.get(code);//?根據棋子相連情況獲取對應的權值
if?(weight?!=?null)?{//?判斷是否有該種棋子相連的情況
weightArray[r][c]?+=?weight;//?累加權值
}
?
code?=?countHT(r?c);//?調用水平向左統計的方法
weight?=?map.get(code);//?根據棋子相連情況獲取對應的權值
if?(weight?!=?null)?{//?判斷是否有該種棋子相連的情況
weightArray[r][c]?+=?weight;//?累加權值
}
?
code?=?countHB(r?c);//?調用水平向左統計的方法
weight?=?map.get(code);//?根據棋子相連情況獲取對應的權值
if?(weight?!=?null)?{//?判斷是否有該種棋子相連的情況
weightArray[r][c]?+=?weight;//?累加權值
}
?
code?=?countHZXS(r?c);//?調用水平向左統計的方法
weight?=?map.get(code);//?根據棋子相連情況獲取對應的權值
if?(weight?!=?null)?{//?判斷是否有該種棋子相連的情況
weightArray[r][c]?+=?weight;//?累加權值
}
?
code?=?countHYXS(r?c);//?調用水平向左統計的方法
weight?=?map.get(code);//?根據棋子相連情況獲取對應的權值
if?(weight?!=?null)?{//?判斷是否有該種棋子相連的情況
weightArray[r][c]?+=?weight;//?累加權值
}
?
code?=?countHZXX(r?c);//?調用水平向左統計的方法
weight?=?map.get(code);//?根據棋子相連情況獲取對應的權值
if?(weight?!=?null)?{//?判斷是否有該種棋子相連的情況
weightArray[r][c]?+=?weight;//?累加權
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????????0??2018-09-01?16:12??五子棋\.me
?????文件??????66546??2018-10-09?23:14??五子棋\.me
?????文件?????????71??2018-09-01?16:12??五子棋\.me
?????文件??????????0??2018-09-01?16:12??五子棋\.me
?????文件????????235??2018-10-08?14:16??五子棋\.me
?????文件????????561??2018-09-01?16:13??五子棋\.me
?????文件????????235??2018-10-09?23:15??五子棋\.me
?????文件??????17496??2018-09-18?10:37??五子棋\.me
?????文件???????3424??2018-09-20?21:08??五子棋\.me
?????文件???????2769??2018-09-20?19:44??五子棋\.me
?????文件???????2736??2018-09-20?19:50??五子棋\.me
?????文件???????2774??2018-09-20?19:43??五子棋\.me
?????文件??????????0??2018-09-20?19:08??五子棋\.me
?????文件??????17496??2018-09-01?16:25??五子棋\.me
?????文件?????????49??2018-09-20?19:08??五子棋\.me
?????文件???????1478??2018-10-09?23:15??五子棋\.me
?????文件?????161790??2018-10-08?14:23??五子棋\.me
?????文件??????????1??2018-10-09?23:15??五子棋\.me
?????文件????????151??2018-10-09?23:15??五子棋\.me
?????文件??????????1??2018-10-09?23:15??五子棋\.me
?????文件???????1427??2018-10-09?23:15??五子棋\.me
?????文件????????864??2018-10-09?23:15??五子棋\.me
?????文件?????????42??2018-09-01?16:18??五子棋\.me
?????文件????????201??2018-09-01?16:28??五子棋\.me
?????文件?????????99??2018-09-18?14:09??五子棋\.me
?????文件?????????66??2018-09-18?14:09??五子棋\.me
?????文件?????????87??2018-09-01?16:12??五子棋\.me
?????文件????????423??2018-09-01?16:19??五子棋\.me
?????文件????????107??2018-09-01?16:20??五子棋\.me
?????文件????????470??2018-09-20?21:30??五子棋\.me
............此處省略372個文件信息
- 上一篇:Android開發讀取通訊錄信息
- 下一篇:jsp網上商城jsp課程設計
評論
共有 條評論