五子棋游戏五子连珠算法实现
1.游戏规则
五子棋是两个人之间进行的竞技活动,黑方白方规则规则相同,黑棋必须先行,五连子的方向为横、竖、斜,如黑白色任一方先五子连一线则算胜出。
2.五子连珠算法
在 9 X 9 (这里举例子实际棋盘可以任意大小) 的游戏棋盘中 我们可以把它想象成一个二维数组,黑方下棋子后填充当前点的数组的值1,白方下棋子后填充当点的数组的值2,没有下棋子的点在数组中值为0, 黑白双方每走一步 则实际上在给这个二维数组赋值。 所以我们根据这个二维数组的值就可以计算出五子连珠,也可以绘制出棋盘上的黑白棋子。
玩家点击屏幕后拿到一个屏幕的 x y 坐标 然后除以棋盘每一格的宽高 就可以得到在二维数组中的索引根据X Y 这 两个索引就可以知道棋子下在了这个二维数组中的那里。
现在笔者带大家分析一下五子连珠的算法, 首先要想五颗棋子连成一线必定有8种可能 接下来我们分析一下有那八中可能.
第一种:如图所示 X轴横向 其中横向四颗棋子已经连成一线 左右两边任意下一颗棋子便五子连珠。可以用一个for循环遍历当前X点索引,起始点为 X -4 结束点为X + 4 一共便利 9 次 如果其中5颗棋子连续则五子连珠 否则只要有一个没连上 直接break;
第二种:如图所示 X轴横向 其中左右两边若干棋子但是都未满足五子连珠 但是如果将中间连上后遍满足
所以在写算法的时候必需以当前棋子索引 前后都要便利5遍 才能确定当前棋子后是否可以五子连珠。算法同上
第三种:如图所示 Y轴纵向 遍历的时候须要从 Y - 4 到 Y + 4
第四种:如图所示 Y轴纵向 同理X轴
第五种:如图所示 遍历的时候须要从(X -4) (Y- 4) 到 (X +4) (Y+4)
第六种:如图所示算法同上
第七种:如图所示 遍历的时候须要从(X + 4) (Y+ 4) 到 (X- 4) (Y + 4)
第八种:如图所示算法同上
这样五子连珠的算法就介绍完了 下面附上我的源码下载地址目前我没有加上AI 有兴趣的朋友我们可以一起研究研究。
源码下载地址:http://download.csdn.net/source/3395573
分享到:
相关推荐
Android应用源码之五子棋附源码.zip项目安卓应用源码下载Android应用源码之五子棋附源码.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
Android应用源码之五子棋附源码.zip
Android五子棋附源码 Android 五子棋 附源码
Android应用源码开发Demo,主要用于毕业设计学习。
安卓Android源码——五子棋附源码.zip
源码参考,欢迎下载
Android五子棋附源码~~~~~~~~~~~~~~~~~
精典源码之五子棋附源码.rar
Android游戏源码人机五子棋项目源码.zip
Android应用源码之人机五子棋项目源码
Android五子棋项目源码
五子棋源码.很不错的一个游戏!五子棋源码.五子棋源码.五子棋源码.五子棋源码.五子棋源码.五子棋源码.五子棋源码.五子棋源码. 五子棋源码.很不错的一个游戏!五子棋源码.五子棋源码.五子棋源码.五子棋源码.五子棋源码....
python项目之五子棋系统源码 python项目之五子棋系统源码 python项目之五子棋系统源码 python项目之五子棋系统源码 python项目之五子棋系统源码
安卓Android源码——人机五子棋项目源码.zip
一个五子棋游戏项目源码,包括算法都有有比较详细的中文注释。只支持与机器人对战,不支持网络对战与多人局域网对战。人用白旗先手AI智商一般。可以做毕设也可以美化一下界面。 涉及模块&技术 绘图
android五子棋源码,供参考.五子棋是两个人之间进行的竞技活动,黑方白方规则规则相同,黑棋必须先行,五连子的方向为横、竖、斜,如黑白色任一方先五子连一线则算胜出。采用五子连珠算法
Android应用源码之人机五子棋项目源码.zip