时间:20121012
版本:V1.0
功能: 实现电脑 AI,电脑能够拆牌,压牌和自主出牌都能从最优解决方案中选择。
不足:
情形 压队友牌情形,压敌人牌情形
1 情形一:自己最后两手牌时,先出几乎不可能被压的牌如 22,QQKKAA,(被压牌比值
为0的牌,如AAKKQQ,22等)(如果有,先出敌人不可能要的牌,如果没有敌人不可能
要的牌,那就先出较小牌)自己的所有手牌中,只有一手牌的压牌比值不是1(如
33344456,10JQKA,6)此时的策略为先
* 出被压牌比值为 0 的
2 情形二: 下家是敌人只剩 1 张牌时,不要出单
7 情形三 如果下家是敌人,不让顺单牌
8 情形四:敌人只剩一手牌时,不惜一切代价要压牌
3 如果是队友,如果是顺牌,比如单牌,可以顺牌。目前是队友,则不出牌
4 如果敌人出 33,电脑 567789,2,电脑不应该拆出 77 出牌
5 最优方案不一定是一种,应该是一个 List,压牌时,应该遍历所有的最优方案中,找出牌
6 电脑具备留一手最大牌放在倒数第二次出牌的功能
7 电脑具备记牌功能,通过记牌功能,能刷新当前牌的压牌比值,和被压牌比值(如果已
经出了 222,和 AAA,那么 KK 的被压牌比值将 0)
Bug:如果单牌手数相等,应选择出牌手数最少的方案(比如 33344456,和 3335,4446)
王炸弹不能直接能出就出,应该在报纸,被压牌比值>0 手数只有一手时出牌
计算是否压牌,比如大王小王,A,6, 人家出 2,或者 10,11,12,13,13,14,人家出对 99,
能不能拆 1313 的问题,拆了之后
拆牌规则重构:(不需要了)
如果单牌手数>0,单牌手数越小越好
不是单牌手数越小越好,如果单牌手数<0,那么在小于 0 当中的出牌手数最少的最好
压牌
单牌手数规则重构:
1 被压牌比值()为 0 的可以附加抵消 0.5 个单牌手数(,比如 222 除了能带一张单牌,由于
这么出牌后,别人只能用炸弹压牌,所以,出了之后极有可能获得出牌权)
2 单牌或双牌如果被压牌比值=0,本身不视为单牌,并且可抵消 0.5 张单牌手数
3 要考虑自己的牌和已经出的牌