已有258人关注
判断条件
还有0人有此问题
发表在Java答疑区 2017-09-15
是否精华
版块置顶:

老师,请问这个代码是不是不能判断在中间落子后,与前后子连成五子胜利的情况?

分享到:
精彩评论 2
根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2017-09-15
沙发

这bug都被你发现了?其实正确判断应该是将判断胜负单独写成一个方法。传入一个棋子坐标,然后判断该棋子在八个方向上是否组成了5连子。然后遍历棋盘上的所有棋子,每一个棋子都判断一下,只要出现5连子游戏就结束了。当然那这也是一种懒惰的写法,但五子棋棋盘不大,每一次下棋都做全盘遍历不会影响程序效率。最好的算法是每下一枚棋子,就获取此棋子构成的所有棋型,根据棋型判断胜负,这也是做人机AI的思路。这个视频录的比较早,怕同学理解吃力,所以就写成这种简化的代码。

一只粉粉的卷尾巴小猪猪的人类朋友_1505398461
学分:44 LV2
2017-09-15
板凳

根号申 发表于2017-09-15 13:58

这bug都被你发现了?其实正确判断应该是将判断胜负单独写成一个方法。传入一个棋子坐标,然后判断该棋子在八个方向上是否组成了5连子。然后遍历棋盘上的所有棋子,每一个棋子都判断一下,只要出现5连子游戏就结束了。当然那这也是一种懒惰的写法,但五子棋棋盘不大,每一次下棋都做全盘遍历不会影响程序效率。最好的算法是每下一枚棋子,就获取此棋子构成的所有棋型,根据棋型判断胜负,这也是做人机AI的思路。这个视频录的比较早,怕同学理解吃力,所以就写成这种简化的代码。

嗯嗯 我知道了~ 准备按照老师说的方法再写一遍  谢谢老师!!!

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照