那些說這不算AI的,好好理解人工智能的“人工”二字,這個算法的思路和我們普通人下五子棋的思路是差不多的,無非先看需不需要堵別人,然后看自己在看下哪獲勝幾率大而已,這個程序無非是把人自主判斷獲勝的思維過程形式化、數據化地表示出來了,至于你說要通過學習不斷調整balabala的,那是“智能”,而且更多地來看應該屬于機器學習范疇,而不是本課程的側重點,請移步別處自行學習啊(不服不辯)
老師講得很好,也很細致,贊一個!
老師講得很好,也很細致,贊一個!
2016-11-09
if(computerWin[k]!=0){//死三
myScore[i][j]+=2000;
}else{//活三
myScore[i][j]+=4000;
}
同理將else if(computerWin[k]==3)里面的也要替換,大家可以根據這個邏輯判斷死2和活2
6.為了避免電腦每次落子同一個地方,可以再建一個數組,然后遍歷所有分數,將分數最大并相同的點保存起來,然后隨機取一個點落子
myScore[i][j]+=2000;
}else{//活三
myScore[i][j]+=4000;
}
同理將else if(computerWin[k]==3)里面的也要替換,大家可以根據這個邏輯判斷死2和活2
6.為了避免電腦每次落子同一個地方,可以再建一個數組,然后遍歷所有分數,將分數最大并相同的點保存起來,然后隨機取一個點落子
2016-11-02
4.computerWin[k]=6;和myWin[k]=6沒有任何意義,可以去掉
5.老師出的教程是不能判斷死三和活三的,實現其實很簡單,第一步去掉上面兩行代碼,然后將else if(myWin[k]==3)里面的內容替換成
5.老師出的教程是不能判斷死三和活三的,實現其實很簡單,第一步去掉上面兩行代碼,然后將else if(myWin[k]==3)里面的內容替換成
2016-11-02
1. chessBoard[i][j] = 111(可以是任意非0值),和me=!me可以寫在oneStep函數內結尾地方
2.chess.onclick函數你面判斷!me完全是多余的
3.判斷最大分數用下面代碼是一樣的
if(myScore[i][j]>max){
max = myScore[i][j];
u = i;
v = j;
}
if(computerScore[i][j]>max){
max = computerScore[i][j];
u = i;
v = j;
}
2.chess.onclick函數你面判斷!me完全是多余的
3.判斷最大分數用下面代碼是一樣的
if(myScore[i][j]>max){
max = myScore[i][j];
u = i;
v = j;
}
if(computerScore[i][j]>max){
max = computerScore[i][j];
u = i;
v = j;
}
2016-10-31
從今天看到了了AI算法點進來到后來把UI、AI都看完跟著敲出來用了大半天,雖然還是不能完全理解,但依舊成就感爆棚。老師講得很好,未來幾天自己在慢慢看著代碼加注釋應該能學會不少。對了,需要源代碼的小伙伴可以給我私信。。。
2016-10-10