美文网首页
五子棋游戏的简单实现(更新)

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

作者: soulDxl | 来源:发表于2016-10-18 18:51 被阅读120次
    工作闲暇之余,琢磨了一下五子棋小游戏的实现,下面自己总结了一下大概的实现思路,仍有不足之处,还要学习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中是写了实现的逻辑,可以简单的测试。

    相关文章

      网友评论

          本文标题:五子棋游戏的简单实现(更新)

          本文链接:https://www.haomeiwen.com/subject/vletuttx.html