在开篇《斗地主ai-需求篇》中阐述了ai使用场景和主要功能。
玩乐儿童编程:斗地主AI-需求篇那么接下来就开始讲如何实现。拿到一手牌之后,首先要让ai读懂牌,知道有哪些套牌,才能进一步分析牌好牌坏,进行策略判定等。所以,无论采用什么方法实现ai都绕不过拆牌,这是实现ai的第一步,拆牌的结果直接影响后续所有步骤的。
下边先来约定几个拆牌中常用的术语和概念。
什么是手牌?
一般指ai获得的牌,是拆牌的输入。手牌是n张随机牌组成的,其中0<n<20,且随机牌是黑桃(spades)红桃(hearts)樱花(clubs)方块(diamonds)四种牌之一,且同种花色牌不超过4张。
什么是套牌?
能成套打出的,符合斗地主玩法约定的一套组合牌。比如,34567是顺子。每个套牌都有一个或多个牌型。比如,33334444,可以认为是4带2,即3333带两对4,也可以认为是飞机333444带两个单34。
什么是牌型?
斗地主游戏约定的出牌固定组合方式。主流的斗地主玩法一般包括这些牌型:
- 单张
- 对子&#x