为了账号安全,请及时绑定邮箱和手机立即绑定
TypeError: wins[(i + k)] is undefined
为什么我先弹出你赢了再落子啊,尴尬了
有没有人和我一个问题,第五个棋子点击应该出现棋子,然后弹框显示,但是我的是先弹框,再点确定,最后再出现棋子
car
终于完成案例了
那些说这不算AI的,好好理解人工智能的“人工”二字,这个算法的思路和我们普通人下五子棋的思路是差不多的,无非先看需不需要堵别人,然后看自己在看下哪获胜几率大而已,这个程序无非是把人自主判断获胜的思维过程形式化、数据化地表示出来了,至于你说要通过学习不断调整balabala的,那是“智能”,而且更多地来看应该属于机器学习范畴,而不是本课程的侧重点,请移步别处自行学习啊(不服不辩)
老师讲得很好,也很细致,赞一个!
表示讲课凉的很乱
把循环放到黑白棋的判断里面bug就解决了
按照老师的代码写。浏览器一直加载不出来啊,换了谷歌火狐都不行
if(computerWin[k]!=0){//死三
myScore[i][j]+=2000;
}else{//活三
myScore[i][j]+=4000;
}
同理将else if(computerWin[k]==3)里面的也要替换,大家可以根据这个逻辑判断死2和活2

6.为了避免电脑每次落子同一个地方,可以再建一个数组,然后遍历所有分数,将分数最大并相同的点保存起来,然后随机取一个点落子
4.computerWin[k]=6;和myWin[k]=6没有任何意义,可以去掉
5.老师出的教程是不能判断死三和活三的,实现其实很简单,第一步去掉上面两行代码,然后将else if(myWin[k]==3)里面的内容替换成
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;
}
有没有下不过电脑的感觉。
真的是反复理解
从今天看到了了AI算法点进来到后来把UI、AI都看完跟着敲出来用了大半天,虽然还是不能完全理解,但依旧成就感爆棚。老师讲得很好,未来几天自己在慢慢看着代码加注释应该能学会不少。对了,需要源代码的小伙伴可以给我私信。。。
课程须知
本课程是前端高级课程 1、具备算法基础
老师告诉你能学到什么?
1、五子棋AI的运行原理 2、五子棋AI使用到的数据结构 3、编程实现五子棋AI

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消