记:五子棋及五子棋AI开发思路

时间:2017-10-18 点击:615

最近因为期末项目,就做了一个五子棋游戏,这里写一些思路,请大家参考。


在线使用:

http://www.lihang.xyz/piece/index.html

源码:

https://github.com/wawa2222/piece



简介:五子棋是世界智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏,是世界智力运动会竞技项目之一,通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成5子连线者获胜。

    棋具与围棋通用,起源于中国上古时代的传统黑白棋种之一。主要流行于华人和汉字文化圈的国家以及欧美一些地区,是世界上最古老的棋。

    容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。已在各个游戏平台有应用。


第一步:实现界面

1.通过css + div 实现界面

2.因为一些兼容问题,不提倡IE10以下的用户使用


第二步: 编写游戏规则

1.暂时没有添加禁手规则

2.同色五颗棋子连续成5颗即游戏结束


第三步: 编写AI (五子棋机器人)

我们可以根据五子棋的连珠规则将棋法可以分为以下几种:

成五:即构成五子连珠 

活四:即构成两边均不被拦截的四子连珠

 

冲四:一边被拦截的四子连珠

活三:两边均不被拦截的三字连珠

     

死三:一边被拦截的三字连珠

        

活二:两边均不被拦截的二子连珠

    

死二:一边被拦截的二子连珠

   

单子:四周四个位置均无棋子 (这个不解释了)


第四步:根据规则打分

成五             1000000分

活四             100000分

冲四             4000分

活三             5000分

跳活三           2500分

眠三             1000分

活二             200分

跳活二           100分

眠二             50分

全死四           1分

其他             1分

周围什么都没有   0分

高级打分

冲四活三       90000分

双冲四          900000分

双活三         90000分


第五步:机器人(AI)下棋

    有了估分器,就可根据棋子未知估分,找出分最大的(包括对手和电脑),如果对手分大于且等于电脑分防守,反之进攻







所以有思路后,编码就简单很多了



标签:游戏 分类:开源软件

上一篇: 青鸟租房web实训项目

下一篇: 2017-10-14 博客更新