为了账号安全,请及时绑定邮箱和手机立即绑定
好厉害,给个赞!正在做五子棋人工智能部分,给了很好的引导思路
@新前朝楚水,我看好你,未来中国的机器学习、深度学习交给你了
源码分享下:https://github.com/RuMengkai/gobang.git
测试发现有一个bug只要你把棋子摆成两个方向都是两个,他不会在那个放上一个棋子两边会成为三个棋子的关键点堵你。所以人总能赢得比赛
@新前朝楚水,我看好你,未来中国的科技发展交给你了
暴力算法。。
一个大bug
怎么说呢,其实数组cheerBoard和wins的[i][j]和实际的想的不一样。比如说i =0,j=1,想象中是第一行第二个,但实际上是第二行第一个。因为i=Math.floor(offsetX/30),j=Math.floor(offsetY/30),含义是跟左边和上边的距离,所以意思就是:跟左边距离为0,跟上边距离为1,也就是第二行第一个。所以:老师说四种数组的第一个是竖线赢法,第二个是才是横线。
PS:目前我觉得我的逻辑没问题,欢迎批评指正。而且也是经过点击弹出数组验证的,你们也可以试试。
找出了bug了,一个必赢的步骤
计算机很容易被打败了
计算机不会进攻只会防守 嗯不能理解双三双四,堵 的到时死死的
EM1
不错啊啊啊啊
每次都是我赢。。。。
我的想法是这个bug,if(me==false){
if(wins[i][j][k]){
myWin[k]++;
computerWin[k]=6;
if(myWin[k]==5){
window.alert('黑棋赢了!!!');
over=true;
}
}

}
这个就解决了,不管5个是黑棋还是白期混合的问题了
课程须知
本课程是前端高级课程 1、具备算法基础
老师告诉你能学到什么?
1、五子棋AI的运行原理 2、五子棋AI使用到的数据结构 3、编程实现五子棋AI

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消