/** * 手牌 * *@authorzkpursuit */public classHandCards{ /** * 获取牌号最左边的一位数,如果牌为筒、条、万,则返回值为牌类型数值 * *@paramcard 牌号 *@return牌号从左至右第一位数(十位数) */ publicfinalstaticintgetCardLeftValue(intcard)
麻将牌型主是AA,AAA,AAAA,ABC的组合构成胡牌,可以把牌分为明牌和手牌,明牌是指杠,吃,碰之后的牌,手牌指未露出来的牌,听牌只需要算手牌即可。听牌可以分为有对将,其它为圆句,只留一个需要圆句,吃牌胡,或者碰牌胡。如果无对将,则需所有为圆句和一张单牌吊将。 方法一:先取一对将,再把剩下的牌递归找整句,直到只剩两张牌,算出缺口牌即为听的牌。中间任意一步失败也该组合失败。先找整句,剩
麻将胡牌算法1、麻将的基本规则2、胡牌算法解析3、麻将的表示方法一副完整的麻将表示方法手牌表示方法4、核心代码 1、麻将的基本规则常见的麻将一共有三种花色,万、条、筒。每种花色的牌都有1~9个数值,每种数值的牌有4张,总共有493=108张牌。胡牌时手牌必须满足(不包含特殊牌型,如对对胡,大对子等)mABC+nDDD+EE(m >=0,n>=0),即一对将牌除开,剩余的牌全能组成顺子
  声明: 算法并非原创 , 但是来源已经忘记了 , 当时考虑算法的时候看了比较多的麻将胡牌算法 , 想寻找自己比较容易理解的 , 找了几篇,所以算法的出处已然忘记,不过还是感谢下原创吧 .   算法理解之后就不难了 , 下面开始详细的阐述了.1. 将麻将抽象为数字  数字 {01 ~ 09} 表示  {1 ~ 9} 筒  数字 {11 ~ 19} 表示  
算法思想胡的条件必须有一对将(两个相同的牌)除了将,其余牌必须为顺子或刻子算法(精简版)提取所有将牌去除所有刻子去除所有顺子没有牌了,胡;还有牌,不胡算法(完整版)提取所有将牌(如果要胡,将牌是必须存在的,而且将牌可能会有多种)取一对将牌,如果没有将牌了,则表示不能胡将手牌去除选取的将牌将剩余的手牌去除所有的刻子,去除所有的刻子后如果手牌没有了,则胡;手牌还有,则继续第5步判断将手牌去除所有的顺子
转载 10月前
0阅读
麻将胡牌算法(不带赖子)(2天)编码:(假设一副牌只有筒子 1表示1筒 2表示2筒。。。。 9表示9筒)要求:1)七对算法(判断14张牌是否是7对)2)碰碰胡算法(判断14张牌是否是碰碰胡)3)屁胡算法(判断14张牌是否是屁胡)用户输入14张牌值,要求判断出这14张牌是否满足上述3种牌型(可能同时满...
原创 2022-03-16 13:38:24
2993阅读
# 麻将算法Java实现 麻将,作为中国的传统游戏,其算法实现一直是计算机科学领域研究的热点。本文将介绍如何使用Java语言实现麻将算法,并通过代码示例和旅行图来展示其实现过程。 ## 麻将算法简介 麻将是一种四人游戏,每个玩家需要从牌堆中摸牌、打牌,最终通过胡牌来决定胜负。麻将算法的核心是牌的生成、摸牌、打牌和胡牌的判断。 ## Java实现麻将算法Java中实现麻将算法,首先需
原创 1月前
37阅读
声明 算法并非原创 , 但是来源已经忘记了 , 当时考虑算法的时候看了比较多的麻将胡牌算法 , 想寻找自己比较容易理解的 , 找了几篇,所以算法的出处已然忘记,不过还是感谢下原创吧 . 算法 1.将麻将抽象为数字 数字 {01 ~ 09} 表示 {1 ~ 9} 筒数字 {11 ~ 19} 表示 {1 ~ 9} 条数字 {21 ~ 29} 表示 {1 ~ 9} 万数字 {31 33 35 37
转载 2021-08-12 08:12:03
3418阅读
这篇博客主要是记录在学习java集合中,使用相关知识点完成XX(哈哈 不能暴露了)麻将的准备牌、洗牌、发牌、看牌基本功能。 ####需求分析A:XX麻将的功能需求分析 a:具体规则: 1. 组装136张麻将 条、筒、万加到一起的数目是108张 东、西、南、北风、红中、白皮、发财是28张,总共136张 2. 将136张牌顺序打乱
题目描述麻将是一个中国原创的4人玩的游戏。这个游戏有很多变种,但本题只考虑一种有136张牌的玩法。这136张牌所包含的内容如下。饼(筒)牌:每张牌包括一系列题目描述麻将是一个中国原创的4人玩的游戏。这个游戏有很多变种,但本题只考虑一种有136张牌的玩法。这136张牌所包含的内容如下。饼(筒)牌:每张牌包括一系列点,每个点代表一个铜钱。本题中用1T、2T、3T、4T、5T、6T、7T、8T、9T表示
声明算法并非原创 , 但是来源已经忘记了 , 当时考虑算法的时候看了比较多的麻将胡牌算法 , 想寻找自己比较容易理解的 , 找了几篇,所以算法的出处已然忘记,不过还是感谢下原创吧 .算法1.将麻将抽象为数字数字 {01 ~ 09} 表示
转载 2022-02-24 11:38:22
1622阅读
犹豫工作和自己学习了一些新的东西,今天打开博客吓自己一跳,原来自己这么久没有更新博客了。看来以后还是要坚持每周最少写一篇博客啊。在讲解麻将胡牌算法之前,先说说为什么写这么一篇博客吧。在做项目中,其实前辈们早就封装好了一些胡牌的检测算法,不过我还算是一个比较喜欢刨根问到底的人,每次调用别人写好的算法的时候总是想知道算法的具体实现。然而在看算法具体实现的时候,发现里面一个二维矩阵有点复杂,并且没有没有
算法思想胡的条件必须有一对将(两个相同的牌)除了将,其余牌必须为顺子或刻子算法(精简版)提取所有将牌去除所有刻子去除所有顺子没有牌了,胡;还有牌,不胡算法(完整版)提取所有将牌(如果要胡,将牌是必须存在的,而且将牌可能会有多种)取一对将牌,如果没有将牌了,则表示不能胡将手牌去除选取的将牌将剩余的手牌去除所有的刻子,去除所有的刻子后如果手牌没有了,则胡;手牌还有,则继续第5步判断将手牌去除所有的顺子
转载 1月前
17阅读
麻将通常有13张牌,在打的时候随着吃,碰越来越少。总数应该维持在3*n + 1,n=0~4,比如1张,4张,7张或10张。胡牌时,加一张(可能是自摸或吃碰来的一张)组成n个顺子或暗刻,外加一个麻将对。 这里要研究的要点是: 1. 给出3n + 2张牌如何判断是否已经胡牌,所有的胡牌可能组合; 2. 如果给出3n+1张牌如何判断是否已经挺牌,挺哪些牌。 这两个问题其实主要是第一个问题,也就是如何判断
转载 2017-03-26 23:37:00
798阅读
2评论
麻将游戏算法深入解析       这两天为了工具箱的完善,整理了这些年引擎开发的一
原创 2023-01-19 22:51:32
348阅读
*实现功能点 实现麻将的准备牌、洗牌、发牌、看牌 知识点 集合知识 项目思路 思路介绍 Icon 麻将的功能需求分析 a:具体规则:组装136张麻将 条、筒、万加到一起的数目是108张 东、西、南、北风、红中、白皮、发财是28张,总共136张将136张牌顺序打乱四个玩家参与游戏,四人交替摸牌,每次4张,3次,之后庄家摸2张,两张之间个索引相差4,其他人再摸一张,即庄家14张,其他每人13张,剩下的
转载 2023-08-13 21:29:25
0阅读
显示人员信息对于游戏界面需要显示对手玩家的个人信息,最起码的是任务的名称,或者头像,在我的设计中,其中数据库创建了(使用了Mybatis所有表都不具备外键,只具备主键,使用关联字段进行逻辑关联)房间表游戏表玩家表其中使用房间表的mainID(房间号)作为和玩家表的关联首先用户登录,在首页可以看见游戏房间列表,可以选择创建房间(创建新的房间,并根据当前user创建Player,将Player设置到房
# 如何实现Java算法题目 ## 概述 本文将指导一位刚入行的小白如何实现Java算法题目。首先,我将介绍整个实现过程的流程,并使用表格展示每个步骤。接着,我会详细说明每个步骤需要做的事情,并提供相应的代码示例和注释。 ## 流程 下面是实现Java算法题目的流程图: ```mermaid flowchart TD A[理解问题] --> B[分析问题] B --> C
最先实现的就是算法的实现。 需求:碰杠胡  ,不能吃 ,不能听 ,仅仅能自摸胡,当中癞子能够做随意牌可是不能碰和杠。 写的时候还不会玩麻将,还是老板教的。^_^ 最麻烦的是胡牌算法。之前搜到的都是不包括癞子正常的胡牌,用的是%3余2,当中余数2就是余的将的意思。 可是有癞子就不能这么用了。仅仅好自己写一个了。 一个有136张牌,万,饼,条,东西南北中发白34种牌。 有四个癞子是直接就胡牌的,最
转载 2015-01-31 09:36:00
313阅读
2评论
胡牌:平胡:1对将及4副(顺子/刻子)对对胡:4副刻子+1对将组成的胡牌七小对:全部牌都是1对门清:全部牌都是自己摸的,没有碰和暗杠全求人:全部碰或明杠,手上只剩一张牌,并且是点炮胡,不能自摸清一色:全部都是一色的平胡(包含万、条、筒、字)七大对:有4张一样的牌且没杠,其余牌都是对子豪华大七对:有至少两个4张一样的牌,其余牌都是对子定义麻将牌:public class MajiangCard ex
  • 1
  • 2
  • 3
  • 4
  • 5