斗地主,国民大众游戏,老少皆宜。。我编不下去了
下面进入正题,玩过腾讯的欢乐斗地主单机版吧,里面的机器人那是相当厉害,我严重怀疑这个机器人作弊,然而,也不可否认腾讯的强大,说不定人家有有整套机器人智能算法,再加上深度学习嘛的,机器人不智能也不可能。要做斗地主游戏,下面是我目前写的一套机器人算法逻辑。
上面是机器人出牌的基本思路
AI出牌思路分析:
- 手牌分析。首先拿到一手牌先要分析这手牌怎样打出去,要几手出完,这就要对手牌分析了,分析出最佳的牌型组合。斗地主的牌型有一下几种:单张,对子,三张,单顺,双顺(连对),三顺,炸弹,王炸
- 确定牌型之后就要找出最佳牌型,使得手牌数最少,以及手牌价值最大(手牌价值可暂时不考虑)
(一)炸弹为主
第一步:找出所有的炸弹
第二步:找出所有的最可能多的单顺
第三步:找出所有的三顺
第四步:找出所有的双顺
第五步:找出所有的三张
第六步:找出所有的对子
第七步:剩余的都是单牌
(二)单顺为主(分拆不拆炸弹两种)
第一步:找出所有的最可能多的单顺
第二步:找出所有的炸弹
第三步:找出所有的三顺
第四步:找出所有的双顺
第五步:找出所有的三张
第六步:找出所有的对子
第七步:剩余的都是单牌
(三)双顺为主(分拆不拆炸弹两种)
第一步:找出所有的炸弹
第二步:找出所有的双顺
第三步:找出所有的最可能多的单顺
第四步:找出所有的三顺
第五步:找出所有的三张
第六步:找出所有的对子
第七步:剩余的都是单牌
(四)三顺为主(一般为了尽快出完,可以拆炸弹)
第一步:找出所有的三顺
第二步:找出所有的炸弹
第三步:找出所有的最可能多的单顺
第四步:找出所有的双顺
第五步:找出所有的三张
第六步:找出所有的对子
第七步:剩余的都是单牌
手牌数 = 炸弹数 + 单顺数 + 双顺数 + 三顺数 + 三张数 + 对子数 + 单牌 - 三张数 - 三顺中的三张数
找出最少的手牌数并且手牌价值最大(假设手牌数加一,手牌价值减小某一个固定的值,手牌价值可暂不考虑)