资源简介
java版的斗地主,AI版(源码)
时间: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 要考虑自己的牌和已经出的牌
被压牌比值算法重构:如果自己有大王,小王,那么自己出大王小王,2的被压牌比值均为0,这样,大王,小王,2都可以抵消一张无用单牌,也就是说如果单牌中有被压牌比值=0的单牌,不但可以不算一手单牌,还可抵消1.5单牌;如果是之前的算法,大王都有可能被带到333上去。
压别人牌的时候,首先判断能不能压牌,如果能压,则从单牌手数从小到大的方式遍历
压牌规则重构:
2222,5,6, 别人出了QQ,你这时优先考虑出22
首先从最优方案找,再找出所有的可以压牌的方案,比较所有出牌后剩余牌的最优方案的
单牌手数,选择出牌之后剩余牌最优方案的单牌手数最少。
期待下一个版本能够实现上述的4个重构,和特殊情形的分析
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 203940 2018-11-29 10:03 bashaoCard.zip
----------- --------- ---------- ----- ----
文件 203940 2018-11-29 10:03 bashaoCard.zip
- 上一篇:Java万年历记事本
- 下一篇:经典JAVA教程日文版
相关资源
- Java斗地主游戏源码.zip
- UVPaint (Skinned Mesh Decal System) 1.84e.
- java邮件发送客户端
- 仅1500行的简易Java炸弹人游戏无AI(
- Android_Oaid.zip
- Airkiss一键配网小工具
- jai_imageio-1.1-alpha与Swingx-1.6.1的jar包
- Paint in 3D
- 腾讯身份证验证人脸识别代码java
- JAVA项目-斗地主游戏 图形界面&&纸牌库
- 基于java的人脸识别系统+源码---百度
- 基于Android的五子棋开发
- tesseract-ocr 相关jar包 jar_jai_imageio-1.1
- android demo,ConstraintLayout 约束布局
-
ob
jectaid 1.2.2 - 基于javamail的电子邮件系统的设计与实
- Android 斗地主源码264938
- Android中Canvas绘图基础详解
- javaMail API和JAR
- jai_codec-1.1.3.jar 和 jai_core.jar 核心包
- web版局域网邮件管理系统
- Romain Manni-Bucau - Java EE 8 High Performanc
- 纯java写的斗地主 java swing界面搭建
- JavaMail 具备垃圾邮件过滤功能的邮箱
- JAVA 调用twain
- 基于Eclipse的 Android 天气查询的简单
- android单机斗地主源码
- axis1.4+activation.jar+mail.jar
- Android之Service AIDL 远程服务 实现比较
- android五子棋代码附加基于αβ剪枝算法
评论
共有 条评论