看到五子棋对战判断输赢的大多是遍历一类,感觉很麻烦我觉得应该有个比较好的算法。比如用一个函数判断一个子和邻近的一个字是否同色,如同色则计数器+1。然后用棋子使用此函数迭代如计数器满5,则能判断输赢如棋盘下满,则岼局不过具体细节还没想好,希望各位大侠指点一二
貌似麻烦希望有简单点的。像我这样想法的
先向两边去寻找第一个不同色的棋子或者空的坐标,计算长度>=5就赢了,否的话再找上下还有斜的两个方向
这个算法应该不是很麻烦吧,写个函数就行了
棋子落入棋盘时分别判断上下,左右两条对角线四個方位上是否有5个相同的连续棋子,如果存在游戏结束,如果不存在继续。
棋子落入棋盘时判断以该子位置为中心的 该子的上下左祐对角线 总共8个方向(分成4组,相对的2个方向为一组) 从中心向四周找 颜色相同+1(任意一组方向上加到5为止) 颜色不同就换方向
就这么简單啊,这个思路还行根本不用写什么。
不行吧如果这样的话如果有个方向中既有白棋又有黑棋,白棋5个黑4得到的结果是5,如果白棋中隔着黑你就gg了
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。