有趣的选题麻将不少人会打,可是用程序分析麻将和牌,甚至分析听牌就是一个比较难的问题了.分析的规则如下:胡牌分析: 给出14-18张麻将,程序需判定是否和牌,并输出和牌的组合情况,最好能列出所有可能的和牌组合.
听牌分析: 给出13-17张麻将,程序需判定是否听牌,并输出听牌的组合情况,最好能列出所有可能的听牌组合.麻将和牌组合可以分成两种,以国标麻将的叫法是顺子和刻子.顺子是指花色相同,序数递增一
转载
2024-01-16 06:04:48
58阅读
一、说明 如果想设计一套比较智能的人机麻将程序,那么一定需要能判断手牌好坏的方法,然后及时做出不同的打牌策略。而好坏最重要的指标就是入听步数,也就是达到听牌前的最小换牌次数。 实现方式为oracle的存储过程,规则采用的是通用麻将游戏,胡牌公式为:x123+y111+11(其中123表示顺子,111表示坎子,11表示对子,x和y表示个数),为方便代码处理,用数字来代表麻将牌,如下: 1~
转载
2023-08-14 21:24:03
793阅读
麻将通常有13张牌,在打的时候随着吃,碰越来越少。总数应该维持在3*n + 1,n=0~4,比如1张,4张,7张或10张。胡牌时,加一张(可能是自摸或吃碰来的一张)组成n个顺子或暗刻,外加一个麻将对。
这里要研究的要点是:
1. 给出3n + 2张牌如何判断是否已经胡牌,所有的胡牌可能组合;
2. 如果给出3n+1张牌如何判断是否已经挺牌,挺哪些牌。
这两个问题其实主要是第一个问题,也就是如何判断
转载
2017-03-26 23:37:00
989阅读
2评论
今天尝试写了一个简单麻将的胡牌算法,规则很简单,看代码:#include<stdio.h>#include<string.h>/*1,2,3,4,5,6,7,8,9 万 11,12,13,14,15,16,17,18,19 索 21,22,23,24,25,26,27,28,29 饼*///胡牌规则:要一...
原创
2021-06-01 13:50:25
2140阅读
姐姐:你去帮我和闺蜜打麻将?学霸哥哥:可是我不会打麻将呀!姐姐:你不是学霸吗?我教你一个麻将公式,我闺蜜可是单身哟!学霸哥哥:什么公式?姐姐:麻将胡牌公式: AAA*M+ABC*N+BB,WMN可以为任意数,胡牌里面有且只有一对!学霸哥哥:原来麻将还可以这样玩。好的 地址微信发给我,马上到!通过这个对话,我想大家应该都能明白麻将的胡牌公式是怎么样了,如果只是简单的麻将胡牌,我想算法实现起来就比较的
转载
2023-12-19 20:16:18
96阅读
声明
算法并非原创 , 但是来源已经忘记了 , 当时考虑算法的时候看了比较多的麻将胡牌算法 , 想寻找自己比较容易理解的 , 找了几篇,所以算法的出处已然忘记,不过还是感谢下原创吧 .
算法
1.将麻将抽象为数字
数字 {01 ~ 09} 表示 {1 ~ 9} 筒数字 {11 ~ 19} 表示 {1 ~ 9} 条数字 {21 ~ 29} 表示 {1 ~ 9} 万数字 {31 33 35 37
转载
2021-08-12 08:12:03
4011阅读
最先实现的就是算法的实现。
需求:碰杠胡 ,不能吃 ,不能听 ,仅仅能自摸胡,当中癞子能够做随意牌可是不能碰和杠。
写的时候还不会玩麻将,还是老板教的。^_^
最麻烦的是胡牌算法。之前搜到的都是不包括癞子正常的胡牌,用的是%3余2,当中余数2就是余的将的意思。
可是有癞子就不能这么用了。仅仅好自己写一个了。
一个有136张牌,万,饼,条,东西南北中发白34种牌。
有四个癞子是直接就胡牌的,最
转载
2015-01-31 09:36:00
357阅读
2评论
声明: 算法并非原创 , 但是来源已经忘记了 , 当时考虑算法的时候看了比较多的麻将胡牌算法 , 想寻找自己比较容易理解的 , 找了几篇,所以算法的出处已然忘记,不过还是感谢下原创吧 . 算法理解之后就不难了 , 下面开始详细的阐述了.1. 将麻将抽象为数字 数字 {01 ~ 09} 表示 {1 ~ 9} 筒 数字 {11 ~ 19} 表示
转载
2024-04-22 09:43:12
239阅读
声明算法并非原创 , 但是来源已经忘记了 , 当时考虑算法的时候看了比较多的麻将胡牌算法 , 想寻找自己比较容易理解的 , 找了几篇,所以算法的出处已然忘记,不过还是感谢下原创吧 .算法1.将麻将抽象为数字数字 {01 ~ 09} 表示
转载
2022-02-24 11:38:22
2750阅读
#coding='utf-8'#author='小罗'#麻将胡牌算法#判定规则:n*(abc)+m*(ddd)+ee#特殊牌型:7*(ee),7对。##规则:##胡牌的基础牌型:##(1)11、123、123、123、123##(2)11、123、123、123、111(1111,下同)##(3)11、123、123、111、111##(4)11、123、111、111、111##(5)11、11
转载
2024-04-22 21:00:47
1337阅读
之前用vba写过,当时的思路不清楚,也没有python这样强大的工具,写了好长时间。现在想想,真的是太太太落后了。磨刀不误砍柴工,学习还是大有裨益的。麻将和牌规则:胡牌的基础牌型:
(1)11、123、123、123、123
(2)11、123、123、123、111(1111,下同)
(3)11、123、123、111、111
(4)11、123、111、111、111
(5)11、111、11
转载
2024-09-13 15:40:59
52阅读
VC++开发的单机版麻将游戏:游戏中自己设定的类:————————————————————————————1.玩家自身麻将与处理一个类(CWanjia)玩家牌的种类(手中的牌,打出的牌,抓的新牌,别人打的牌)玩家的操作(吃、碰、杠,出牌,整理)别人打的牌判断是否能吃、碰、胡、杠,自身是否能杠、胡2.桌面牌墙与其处理一个类(CZuoMaj)牌墙(4个方向)操作(洗牌,整理发给4个方向的牌,发下一张牌
麻将胡牌算法1、麻将的基本规则2、胡牌算法解析3、麻将的表示方法一副完整的麻将表示方法手牌表示方法4、核心代码 1、麻将的基本规则常见的麻将一共有三种花色,万、条、筒。每种花色的牌都有1~9个数值,每种数值的牌有4张,总共有493=108张牌。胡牌时手牌必须满足(不包含特殊牌型,如对对胡,大对子等)mABC+nDDD+EE(m >=0,n>=0),即一对将牌除开,剩余的牌全能组成顺子
转载
2024-01-14 21:00:49
147阅读
#include"a.h"
int main()
{
int pai[14] = { 0, };
int i = 0;
int sum = 0; //总的分这里默认为三家
int num = 0; //应该所得到得分数
printf("请选择底金:");
scanf("%d",&DiJ);
printf("本局底金为:%d\n", DiJ);
/*********
转载
2023-10-08 21:16:10
27阅读
文章目录前言一、游戏规则二、分析流程三、写代码 前言emmmmm,好久没发文章了上次发还是在上次 hxdm动动你们发财的小手指点点赞鸭,快没动力了,呜呜呜~ 前几天面试,要求做一个类似麻将的游戏的听牌分析。简单说就是找到自己还差什么牌能够胡牌。一、游戏规则一副牌一共有 big(A-H) + small(a-h) + joker(X) 三种类型的牌。 每人手上一共10张牌,X可以变成任意牌。 胡牌
转载
2024-04-25 21:52:03
189阅读
算法思想胡的条件必须有一对将(两个相同的牌)除了将,其余牌必须为顺子或刻子算法(精简版)提取所有将牌去除所有刻子去除所有顺子没有牌了,胡;还有牌,不胡算法(完整版)提取所有将牌(如果要胡,将牌是必须存在的,而且将牌可能会有多种)取一对将牌,如果没有将牌了,则表示不能胡将手牌去除选取的将牌将剩余的手牌去除所有的刻子,去除所有的刻子后如果手牌没有了,则胡;手牌还有,则继续第5步判断将手牌去除所有的顺子
转载
2023-10-24 11:23:39
86阅读
首先带来的就是麻将胡牌、听牌的算法,不过大家都知道,麻将各个地方的规则都不同,所以相关算法也需要作出一定的调整。 先简单说一下本次demo的规则要求把。 1.不计番,也就是没那么多胡法,最后胡了就行。 2.胡牌结构满足4*3+2即可,也就是4套组合(一个组合3张牌)+一个对子,组合可以是顺,也可以是
转载
2018-06-12 22:19:00
501阅读
2评论
之前用vba写过,当时的思路不清楚,也没有python这样强大的工具,写了好长时间。现在想想,真的是太太太落后了。磨刀不误砍柴工,学习还是大有裨益的。麻将和牌规则:胡牌的基础牌型:
(1)11、123、123、123、123
(2)11、123、123、123、111(1111,下同)
(3)11、123、123、111、111
(4)11、123、111、111、111
(5)11、111、11
转载
2023-10-07 15:29:56
12阅读
麻将一组有1-9筒,1-9条,1-9万,中发白,东南西北,34张牌,共有四组,共136张牌。可以通过一个数组来表示则一组牌,代码如下:private final static String[] mahjong = { "1T", "2T", "3T", "4T", "5T",
"6T", "7T", "8T", "9T", "1S", "2S", "3S", "4S", "
转载
2024-05-10 09:24:06
164阅读
序言国标麻将是麻将的一种玩法,其规则为中国国家体育总局于 1998 年 7 月所制定,其后在众多国际及国内麻将竞赛中应用。国标麻将为了增加竞技性、减少随机成分,将番种增加至 81 种,并设置为 8 番起和。由于麻将的随机成分大,且往往具有赌博性质,麻将竞技的普及程度远不如棋类比赛,目前对麻将 AI 的设计的研究也不充分,且以日本麻将为主。我们从专家系统和深度学习两个角度出发,设计了两个不同的国标麻
转载
2024-08-20 17:36:28
3阅读