有趣选题麻将不少人会打,可是用程序分析麻将和牌,甚至分析听牌就是一个比较难问题了.分析规则如下:牌分析: 给出14-18张麻将,程序需判定是否和牌,并输出和牌组合情况,最好能列出所有可能和牌组合. 听牌分析: 给出13-17张麻将,程序需判定是否听牌,并输出听牌组合情况,最好能列出所有可能听牌组合.麻将和牌组合可以分成两种,以国标麻将叫法是顺子和刻子.顺子是指花色相同,序数递增一
转载 2024-01-16 06:04:48
58阅读
一、说明  如果想设计一套比较智能的人机麻将程序,那么一定需要能判断手牌好坏方法,然后及时做出不同打牌策略。而好坏最重要指标就是入听步数,也就是达到听牌前最小换牌次数。   实现方式为oracle存储过程,规则采用是通用麻将游戏,牌公式为:x123+y111+11(其中123表示顺子,111表示坎子,11表示对子,x和y表示个数),为方便代码处理,用数字来代表麻将牌,如下:   1~
麻将通常有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可以为任意数,牌里面有且只有一对!学霸哥哥:原来麻将还可以这样玩。好 地址微信发给我,马上到!通过这个对话,我想大家应该都能明白麻将牌公式是怎么样了,如果只是简单麻将牌,我想算法实现起来就比较
声明 算法并非原创 , 但是来源已经忘记了 , 当时考虑算法时候看了比较多麻将牌算法 , 想寻找自己比较容易理解 , 找了几篇,所以算法出处已然忘记,不过还是感谢下原创吧 . 算法 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
之前用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
VC++开发单机版麻将游戏:游戏中自己设定类:————————————————————————————1.玩家自身麻将与处理一个类(CWanjia)玩家牌种类(手中牌,打出牌,抓新牌,别人打的牌)玩家操作(吃、碰、杠,出牌,整理)别人打的牌判断是否能吃、碰、、杠,自身是否能杠、2.桌面牌墙与其处理一个类(CZuoMaj)牌墙(4个方向)操作(洗牌,整理发给4个方向牌,发下一张牌
麻将牌算法1、麻将基本规则2、牌算法解析3、麻将表示方法一副完整麻将表示方法手牌表示方法4、核心代码 1、麻将基本规则常见麻将一共有三种花色,万、条、筒。每种花色牌都有1~9个数值,每种数值牌有4张,总共有493=108张牌。牌时手牌必须满足(不包含特殊牌型,如对对,大对子等)mABC+nDDD+EE(m >=0,n>=0),即一对将牌除开,剩余牌全能组成顺子
#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); /*********
文章目录前言一、游戏规则二、分析流程三、写代码 前言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
麻将一组有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 设计研究也不充分,且以日本麻将为主。我们从专家系统和深度学习两个角度出发,设计了两个不同国标麻
  • 1
  • 2
  • 3
  • 4
  • 5