五子棋游戏的简单实现(更新)

工作闲暇之余,琢磨了一下五子棋小游戏的实现,下面自己总结了一下大概的实现思路,仍有不足之处,还要学习ing.

五子棋游戏的玩法,横、纵、45°有连续的五颗棋子即胜利。我们知道这个之后,就方便缕清思路。我们可以给五子棋棋盘看成一个坐标系,每个棋子都有自己的坐标。我们只要计算出新添加棋子的坐标周围(即横、纵、45°)有连续的五颗棋子就OK。
看了网上一些实现的办法,这里说一下我自己的一些看法。我将新添加的每个棋子坐标周围的棋子的横纵坐标取出来,分别放在数组中。将得到的数组排序后,做等差判断,如果某个数组有连续的5颗棋子是差值为1的等差数(45°只是把横纵结合起来)即Win。
更新:
![Uploading 7E3A7748-D480-4DA2-A241-F5AE56BFC3F6_522215.png . . .]增加了局域网对战,利用UDP实现。UDP传输速度上比TCP快一点,但是容易丢包。

页面图、没做适配、6正好😭

Demo截图

测试代码

    if ([[PlayData shareDataManager] addPoint:CGPointMake(pointX, pointY) atRole:mine]) {
        NSLog(@"棋子坐标添加");
        if ([[PlayManager shareManager] finalWinAtRole:mine]) {
            NSLog(@"赢了");
        }
    }

Demo中是写了实现的逻辑,可以简单的测试。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 介绍内容 前些时间,阿尔法狗对战柯洁围棋大赛很热门,那只是人工智能中的一个方向,展示了机器能代替人做某些事情。而围...
    allen151阅读 9,578评论 5 15
  • 内容介绍 上一篇我们讲到五子棋的UI篇的实现,现在这一篇我们来讲五子棋的AI篇的实现。如果你还没看过UI篇,建议先...
    allen151阅读 9,711评论 9 14
  • 棋类游戏对战的实现 六洲棋 五子棋 AI对战 蓝牙对战 在线对战 六洲棋 六洲棋,又称:泥棋、插方、来马、五福棋,...
    天机否阅读 1,259评论 0 9
  • 为什突然做这个,因为这是个笔试题,拖了一个月才写(最近终于闲了O(∩_∩)O),废话不多说,说说这个题吧 题目要求...
    Stevenzwzhai阅读 2,794评论 0 5
  • 记下一些记忆碎片吧。 每年的这个时候,许多人都会很励志地立志。 但是今年我不准备立。 大目标小目标都不立。 就这么...
    熊爸研究院阅读 168评论 0 0