iOS-五子棋

导读

五子棋是程序猿比较熟悉的一款小游戏,相信很多人大学时期就用多种语言写过五子棋小游戏.笔者工作闲暇之余,试着用OC实现了一下,在这里给大家分享一下.有不足之处,欢迎大家提供建议和指点!!!GitHub源码链接https://github.com/HelloYeah/Gomoku-Game

先上效果图

  • 功能展示
    1338042-09596bfa61263b56
  • 初高级棋盘切换效果
    1338042-f841f64f67c52352

实现思路及主要代码详解

1.绘制棋盘

利用Quartz2D绘制棋盘.代码如下

2.点击棋盘落子

1.根据落子位置求出该棋子的行号与列号.
2.判断落子位置是否已经有棋子,有则不能下.如果没有,将棋子保存在字典中,以列号和行号组合起来的字符串为key值.
代码如下

3.检测游戏结果

每落一个棋子就要多游戏结果进行一次检查,判断四个方向上是否有大于等于5个同色的棋子连成一线,有则提示游戏输赢结果,无则游戏继续.算法为,从当前棋子位置向前遍历,直到遇到与自己不同色的棋子,累加同色棋子的个数,再往后遍历,直到遇到与自己不同色的棋子,累加同色棋子的个数.得到该方向相连同色棋子的总个数
代码如下

4.对外提供,重新开始,悔棋,切换初高级棋盘的三个接口

重新开始

悔棋

切换初高级键盘

Demo中的一个小技巧

用字典存放棋子,以棋子的列号和行号组合起来的字符串为key值,value值为棋子view.这样处理,在判断某行某列是否有棋子就非常简单了.
GitHub源码地址https://github.com/HelloYeah/Gomoku-Game

1 1 收藏 评论

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部