最新回答 / 迷茫_彭
可以的??????1 在 ia? 計(jì)算得分前 判斷 棋盤上是否 有子?????????如果有?????????????????那么就走正常流程?????????如果沒有?????????????????就隨機(jī)挑選一個(gè)坐標(biāo) 就可以了
2018-11-16
額。。。算法不夠強(qiáng)大啊,我都贏了計(jì)算機(jī)。。。
2018-10-29
最贊回答 / 慕粉212319924
那個(gè)位置的贏法數(shù)組里包含了這兩個(gè)贏法。計(jì)算的時(shí)候都進(jìn)行了加分處理,這個(gè)位置的分?jǐn)?shù)最高,肯定被找出來了
2018-10-06
最新回答 / 慕標(biāo)5206426
canvas的原點(diǎn)是在左上角開始,那么i=0的時(shí)候,j從0到14,那么就是最上面的一條橫線了,[0][0] ,[0][1]....?,[0][14]
2018-07-13
已采納回答 / qq_克克的_0
完整代碼地址:https://gitee.com/yanglilong127/ai_manmachine_war_chess 該游戲演示地址:https://yanglilong127.gitee.io/ai_manmachine_war_chess
2018-06-15
還有一個(gè)bug,當(dāng)出現(xiàn)六子連贏的時(shí)候,由于在遍歷k的時(shí)候匹配到兩次贏法數(shù)組,所以會(huì)alert兩次“我贏了”
解決這個(gè)bug的辦法是,當(dāng)出現(xiàn)“k==5”的時(shí)候,直接return,跳出當(dāng)前循環(huán):
if(myWin[k]==5&&me){
window.alert("你贏了")
over=true
return
}
解決這個(gè)bug的辦法是,當(dāng)出現(xiàn)“k==5”的時(shí)候,直接return,跳出當(dāng)前循環(huán):
if(myWin[k]==5&&me){
window.alert("你贏了")
over=true
return
}
2018-04-08
應(yīng)該加一個(gè)是否為me的判斷:
for (var k = 0; k < count; k++) {
if (win[i][j][k]) {
myWin[k]++;
computerWin[k]=6;
if(myWin[k]==5&&me){
window.alert("你贏了")
over=true
}
}
}
執(zhí)行完遍歷之后再加上:
me=!me
for (var k = 0; k < count; k++) {
if (win[i][j][k]) {
myWin[k]++;
computerWin[k]=6;
if(myWin[k]==5&&me){
window.alert("你贏了")
over=true
}
}
}
執(zhí)行完遍歷之后再加上:
me=!me
2018-04-08
//斜線
for (var i = 14; i > 3; i--) {
for (var j = 0; j < 11; j++) {
for (var k = 0; k < 5; k++) {
win[i-k][j+k][count]=true;
}
count++
}
}
// 反斜線
for (var i = 0; i < 11; i++) {
for (var j = 0; j <11; j++) {
for (var k = 0; k < 5; k++) {
win[i+k][j+k][count]=true;
}
count++
}
}
for (var i = 14; i > 3; i--) {
for (var j = 0; j < 11; j++) {
for (var k = 0; k < 5; k++) {
win[i-k][j+k][count]=true;
}
count++
}
}
// 反斜線
for (var i = 0; i < 11; i++) {
for (var j = 0; j <11; j++) {
for (var k = 0; k < 5; k++) {
win[i+k][j+k][count]=true;
}
count++
}
}
2018-04-08
// 橫向
for (var i = 0; i < 11; i++) {
for (var j = 0; j < 15; j++) {
for (var k = 0; k < 5; k++) {
win[i+k][j][count]=true;
}
count++
}
}
// 縱向
for (var i = 0; i < 15; i++) {
for (var j = 0; j < 11; j++) {
for (var k = 0; k < 5; k++) {
win[i][j+k][count]=true;
}
count++
}
}
for (var i = 0; i < 11; i++) {
for (var j = 0; j < 15; j++) {
for (var k = 0; k < 5; k++) {
win[i+k][j][count]=true;
}
count++
}
}
// 縱向
for (var i = 0; i < 15; i++) {
for (var j = 0; j < 11; j++) {
for (var k = 0; k < 5; k++) {
win[i][j+k][count]=true;
}
count++
}
}
2018-04-08