效果圖
贏法陣列
var wins =;
//第count種贏法
var count = 0;
//贏法的統計陣列
var mywin =;
var computerwin =;
//結束標識
var gameover = false
;var chess = document.getelementbyid("chess");
var me = true; //
判斷是黑棋還是白棋
var chessboard = ; //
判斷是否已落子
for(var i = 0; i < 15; i++) }//
再來一次
var again=document.getelementbyid("again");
again.onclick=function
()//
初始化資料
for(var i = 0; i < 15; i++) }//
橫線贏法
for(var i = 0; i < 15; i++)
count++;
}}//
豎線贏法
for(var i = 0; i < 15; i++)
count++;
}}//
斜線贏法
for(var i = 0; i < 11; i++)
count++;
}}//
反斜線贏法
for(var i = 0; i < 11; i++)
count++;
}}//
console.log(count); //572
//初始化
for(var i = 0; i < count; i++)
chess.onclick = function(e)
if(!me)
var x =e.offsetx;
var y =e.offsety;
var i = math.floor(x / 30);
var j = math.floor(y / 30);
if(chessboard[i][j] == 0) }}
if(!gameover)
}}var computerai = function
() }
for(var i = 0; i < 15; i++)
switch
(computerwin[k]) }}
if(myscore[i][j] >max)
else
if(myscore[i][j] ==max)
}if(computerscore[i][j] >max)
else
if(computerscore[i][j] ==max) }}
}}settimeout(
function
(),600);
chessboard[u][v] = 2; //
計算機落子
for(var k = 0; k < count; k++) }}
if(!gameover)
}
遊戲 五子棋 與AI
然後ai下棋時,把每個能下的地方都下一次,求個己方與對方的期望值,用個微妙的比較方法 既要考慮到己方的期望,也要考慮到對方的情況 找出期望值最好的那個點,就下那裡了。然後不一會兒我就寫出了乙個 一代 ai,不過我發現有問題,這一代中函式 val 中還沒有那個 y 導致雙方的優先度基本相當,後來我就想...
Python實現AI五子棋
開發工具 python版本 3.6.4 graphics模組。環境搭建 安裝python並新增到環境變數即可。注 graphics模組在相關檔案中已經提供,就是乙個py檔案,直接放在當前路徑或者放到python安裝資料夾下的site packages資料夾內均可。原理簡介 對於五子棋這樣的博弈類ai...
下五子棋的bot 五子棋演算法
include include include include include include jsoncpp json.h c 編譯時預設包含此庫 define n 7 每個節點的分支數 以下為各棋型的識別碼 權重 define win 1 4000 define lose 2 4000 defi...