那些说这不算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