五子棋AI大战OC实现

作者: YYSheng | 来源:发表于2017-04-14 16:24 被阅读204次

    Gobang

    五子棋AI大战,该项目主要用到MVC框架,用算法搭建AI实现进攻或防守

    一.项目介绍

    1.地址:

    github地址:GobangWar

    2.效果图:

    五子棋大战1
    五子棋大战2
    五子棋大战3

    二.思路介绍

    大概说下思路,具体看代码实现。

    1.画棋盘及落点

    这个可以去慕课网看看这个视频:五子棋,里面有详细的讲解,我对里面的进行了部分优化。比如怎么判断两点之间到底触摸的哪个点。

    2.重来

    每个点都是一个对象,让后把对象放数组里面,进行删去,或者重置。

    3.人机模式

    AI简介.png

    这里的AI(人工智能)比较简单,这个算法可深可浅,此项目就是比较浅的,深的可以去看算法,此项目AI的大体思路是:

    • 先便利棋盘上面的点,找到AI的棋子有活四,死四的点,既下一步能形成5个点的落子点,找到就直接在此点落子。

    • 如果没找到,就遍历玩家活四,或者死四的点,并在此进行落点进行防守,虽然活四没法防守。

    • 然后这两个点都没找到的话,就直接找AI有形成活三,或者死三的点,进行落子进攻。

    • 如果没找到,就找用户能形成活三,死三的点进行防守。就这样简单的进行交互。

    三.用到的三方和借鉴

    感谢下面作者

    3.慕课网五子棋

    四.结语

    如果能对你有帮助,就给个star或赞鼓励下,有什么没明白的欢迎留言交流。


    2017-04-24更新:

    1.新增难度选择按钮,实现了简单和中级两个难度的算法。
    2.新增悔棋按钮。
    3.代码库移动到最新的仓库位置,上述代码链接已修改


    相关文章

      网友评论

      • YYSheng:欢迎大家写出不足之处,包括编码规范,注释规范,架构设计,等之类问题,不论大小,在下虚心求教!!

      本文标题:五子棋AI大战OC实现

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