当前位置: 首页 > news >正文

做ic用什么网站湖北省南漳县城乡建设局网站

做ic用什么网站,湖北省南漳县城乡建设局网站,专业网站定制平台,一起学网站培训心得开篇引言​ 麻将作为一款风靡全球的策略性游戏#xff0c;其复杂的规则和多变的牌局给玩家带来了无尽乐趣。在数字化时代#xff0c;运用编程技术为麻将游戏赋予智能#xff0c;实现自动出牌功能#xff0c;不仅能提升玩家体验#xff0c;还能深入探索算法在博弈游戏中的…开篇引言​ 麻将作为一款风靡全球的策略性游戏其复杂的规则和多变的牌局给玩家带来了无尽乐趣。在数字化时代运用编程技术为麻将游戏赋予智能实现自动出牌功能不仅能提升玩家体验还能深入探索算法在博弈游戏中的应用。今天就和大家分享我如何使用 Java 编写一个智能麻将出牌组件的过程。​ 1. 麻将规则简述​ 简单介绍麻将的基本规则如牌型顺子、刻子、对子等、胡牌方式、不同花色牌的作用等。强调这些规则是后续智能出牌算法设计的基础。例如因为有顺子和刻子的牌型所以在计算出牌策略时需要考虑如何通过出牌来促进这些牌型的形成或完善。​ 11-19为1万-9万21-29为1条到9条31-39为1筒到9筒41-47为东西南北中发白51-58为梅兰竹菊春夏秋冬2. 技术选型 - Java 的优势​ 说明选择 Java 作为开发语言的原因。如 Java 强大的跨平台性方便组件能在不同操作系统的麻将游戏中集成丰富的类库在处理牌的逻辑、数据结构和算法实现时能提供便捷工具良好的面向对象特性有利于构建清晰、可维护的代码结构等。​ 3.主要的public方法 public class MahjongIntelligentModule {private Mahjong mahjong;private volatile static MahjongIntelligentModule singleton;/*** 智能模块控制方法** param handCards 手牌* param outCards 已出的牌* param laiZiCards 癞子牌* param handCard 本次需要出的牌* param queYiMenValue 缺一门牌值* param lastOutCard 上一次出的牌* param noOutCardList 不能出的牌* return 可以出的牌值*/public MahjongIntelligentModule(ListInteger handCards, ListInteger outCards, ListInteger laiZiCards, int handCard, int queYiMenValue, int lastOutCard, ListInteger noOutCardList) {……}/*** 通过智能算法获取可以出的牌值判断出牌后听牌最大的可能性通过outCards判断出这张牌是否还有可能胡的牌** return 可以出的牌值*/public int getOutCard() {……}/*** 判断是否可以碰牌通过牌型判断和outCards判断碰后是否会影响原来的牌型加入影响则返回false否则返回true** return 是否可以碰牌*/public boolean getPengCard() {……}/*** 判断是否可以杠牌通过牌型判断和outCards判断杠后是否会影响原来的牌型加入影响则返回false否则返回true** return 是否可以杠牌*/public boolean getGangCard(Integer cardType) {……}} 4. 智能出牌概率计算 进张概率计算​ 拆对、刻、顺概率评估综合出牌概率公式应用​ 5. 测试与验证​ 5.1 出牌测试 ListInteger handCards new ArrayList(Arrays.asList(12,13,14,15,16,17,24,26,32,33,35,37,38,26));MahjongIntelligentModule mahjongIntelligentModule new MahjongIntelligentModule(handCards,new ArrayList(Arrays.asList()),new ArrayList(),-1,-1,-1,new ArrayList());int outcard mahjongIntelligentModule.getOutCard();System.out.println(需要出的牌outcard); CardsInformationInfo{cardsInformations……, outCard24, maxChance9.79} 需要出的牌24  5.2 碰牌测试 ListInteger handCards new ArrayList(Arrays.asList(11,12,12,13,13,14,17));int lastoutcard 12;MahjongIntelligentModule mahjongIntelligentModule new MahjongIntelligentModule(handCards,new ArrayList(Arrays.asList()),new ArrayList(),-1,-1,lastoutcard,new ArrayList());boolean pengcard mahjongIntelligentModule.getPengCard();System.out.println(碰的牌为lastoutcard\t是否能碰pengcard); 碰的牌为12    是否能碰false ListInteger handCards new ArrayList(Arrays.asList(11,12,12,12,13,17,17));int lastoutcard 12;MahjongIntelligentModule mahjongIntelligentModule new MahjongIntelligentModule(handCards,new ArrayList(Arrays.asList()),new ArrayList(),-1,-1,lastoutcard,new ArrayList());boolean pengcard mahjongIntelligentModule.getPengCard();System.out.println(碰的牌为lastoutcard\t是否能碰pengcard); CardsInformationInfo{cardsInformations……, outCard17, maxChance2.63} 出牌17 碰的牌为12    是否能碰true 5.3吃牌测试 ListInteger handCards new ArrayList(Arrays.asList(11,12,12,12,13,17,17));int lastoutcard 12;MahjongIntelligentModule mahjongIntelligentModule new MahjongIntelligentModule(handCards,new ArrayList(Arrays.asList()),new ArrayList(),-1,-1,lastoutcard,new ArrayList());ListInteger chiList mahjongIntelligentModule.getChiCard();System.out.println(上加出的牌为lastoutcard\t能吃的牌chiList); CardsInformationInfo{cardsInformations……, outCard17, maxChance-0.15000000000000002} 出牌17 上加出的牌为12    能吃的牌[11, 12, 13] ListInteger handCards new ArrayList(Arrays.asList(12,13,14,15,16,17,18));int lastoutcard 12;MahjongIntelligentModule mahjongIntelligentModule new MahjongIntelligentModule(handCards,new ArrayList(Arrays.asList()),new ArrayList(),-1,-1,lastoutcard,new ArrayList());ListInteger chiList mahjongIntelligentModule.getChiCard();System.out.println(上家出的牌为lastoutcard\t能吃的牌chiList); 上家出的牌为12    能吃的牌null
http://www.zqtcl.cn/news/530734/

相关文章:

  • 网站一键备案外呼电销系统
  • 淘宝客购物网站源码网站项目开发的一般流程
  • 如何更改公司网站内容网站开发需要哪些文档
  • 洛阳建设工程网站宁波led网站建设
  • 五莲网站建设报价wordpress dux 5.3
  • 怎样做当地网站推广做电商要关注哪些网站
  • 安徽鸿顺鑫城建设集团网站设计外贸英文网站
  • 浦口区教育局网站集约化建设南京淄博网站建设方案
  • 学校网站建设的风险分析wordpress侧边栏显示单个分类列表
  • php网站安装图解帮别人建设网站多少利润
  • vs做的网站如何二手优品哪个网站做
  • 建设银行内部网站6建筑学院官网
  • 大学生做微商网站金华seo扣费
  • 以前老网站邯郸推广网络宣传哪家好
  • 网站建设技术网站建设奉节网站建设公司
  • 动漫视频网站模板动漫制作专业什么电脑最适合
  • 合网站建设注册一个500万的公司需要多少钱
  • 《网站推广策划》wordpress 写博客
  • 网站开发工程师面试问哪些问题免费下载软件商店安装
  • 建网站公司要钱吗公司制作网站跟企业文化的关系
  • 网站改版对用户的影响网站评论怎么做的
  • 许昌市做网站公司汉狮价格装修案例图片 效果图
  • 设计主题网站化肥厂的网站摸板
  • 做羊水亲子鉴定网站网络推广是啥
  • 怎样解析网站域名用哪个网站做首页比较好
  • 设计网站页面设计wordpress样式错乱
  • 静态网页模板免费网站wordpress悬浮按钮
  • 怎么制作学校网站大淘客网站代码
  • 如何做好一个网站wordpress 修改邮箱设置
  • 网站项目方案生态建设研究所网站