首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++,判断五子棋胜败,有无好的方法

2013-01-07 
C++,判断五子棋输赢,有无好的方法看到五子棋判断输赢的大多是遍历一类,感觉很麻烦。我觉得应该有个比较好的

C++,判断五子棋输赢,有无好的方法
看到五子棋判断输赢的大多是遍历一类,感觉很麻烦。我觉得应该有个比较好的算法。比如用一个函数判断,一个子和邻近的一个字是否同色,如同色,则计数器+1。然后用棋子使用此函数迭代,如计数器满5,则能判断输赢。如棋盘下满,则平局。不过具体细节还没想好,希望各位大侠指点一二。
[解决办法]


[解决办法]
http://blog.csdn.net/wojiushi3344/article/category/1150583
[解决办法]
每落下一个子,
先向两边去寻找第一个不同色的棋子或者空的坐标,计算长度,>=5就赢了,否的话再找上下,还有斜的两个方向

这个算法应该不是很麻烦吧,写个函数就行了


[解决办法]
棋子落入棋盘时,分别判断上下,左右,两条对角线四个方位上是否有5个相同的连续棋子,如果存在,游戏结束,如果不存在,继续。
[解决办法]
可以逐子遍历,也可以在棋盘上-
[解决办法]
/\遍历。
[解决办法]
棋子落入棋盘时,判断以该子位置为中心的 该子的上下左右对角线 总共8个方向(分成4组,相对的2个方向为一组) 从中心向四周找 颜色相同+1(任意一组方向上加到5为止) 颜色不同就换方向 

热点排行