游金麻将胡牌与算番

2024-05-13 18:38
文章标签 麻将 胡牌 游金 算番

本文主要是介绍游金麻将胡牌与算番,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


20170426添加:
基本规则:
龙岩新庄麻将是流行于福建地区的麻将玩法,只能碰和杠,不能吃牌,也不能吃胡。
每局游戏会开出一张金牌,金牌可以当任何牌使用。
分为半自摸和全自摸两种模式,半自摸系统默认游金5倍,全自摸只能游金4倍。
游戏规则:
一、定庄
第一局游戏开始,系统随机选定一玩家坐庄。庄家和牌或流局,下一局可以连庄,否则由庄家的下家坐庄。第一局为东风东局,如果下庄第二局为东风南局,以此类推。
二、补花
三、翻金
四、天胡
庄家起手的14张牌即可形成胡牌。
五、抢金
六、分饼
在庄家打出一张牌后(第一轮),如果三位闲家也打出相同的一张牌,称为分饼(跟牌)。此时,庄家要扣分给三个闲家,扣分规则:
跟的是序数牌,庄家支付2分;跟的是风牌和字牌,庄家支付1分;
如庄家打出的第2张牌又被跟牌,则庄家要在第一次支付的基础上翻倍支付。跟的是序数牌,庄家支付4分;跟的是风牌和字牌,庄家支付2分。以此类推;
庄家打出的第一张牌没有被跟牌,以后打的牌被跟牌,则庄家不用支付分。
七、开杠
开局时胡牌顺序是:天胡>闲家抢金>庄家抢金
全自摸(最高到三游)
全自摸的玩法与半自摸的不同之处:
1、开房时候,只能选择游金4倍;
2、不能碰和杠别人打出的牌,只能暗杠和自摸胡,不能抢杠胡;
3、开“金”的时候开两张金牌,如果两张一样,更换下一张。直到2张金牌不同。
4、胡牌牌型的差异:没有三金倒和抢杠胡,4张或5张、6张金牌可以构成“4金倒”、“5金倒”、“6金倒”。
5、白板可以替代2种金牌。
例如,金牌是9万和9条,则白板可以替代9万或者9条。
6、自己抓到4张相同的牌,则可以报开杠,放在自己立牌子前,开杠按照单游计算分数;
暗杠1次,算单游*1
暗杠2次,算单游*2
暗杠3次,算单游*3
暗杠4次,算单游*4
7、花杠分数计算:
4个花 算自摸
5个花 算单游
6个花 算单游+自摸
7个花 算单游加两个自摸
8个花 算单游加三个自摸
8、十三幺算双游
9、天胡:
普通天胡算单游
天胡十三幺算双游
双金做头的天胡算双游(其实就是盖宝抢金),5金倒直接算双游
6金倒直接算三游(不需要再打一圈了)
10、抢金胡
盖宝抢金算双游
普通抢金算单游
抢金的顺序是:庄的下家>庄的对家>庄的上家>庄
Ps:盖宝抢金:就是玩家13张牌已经处于游金状态了,抢金后相当于2个金做头。这就叫盖宝抢金。
判断顺序:
天胡(含4金、5金、6金)>抢金(按照庄的逆时针顺序)
游戏规则特别说明:(进入游戏视同接受圣盛龙岩麻将规则)
1、当一家三游时其他人都不能胡牌。
2、当一家双游时,其他三家只能单游或者杠胡。
3、在半自摸中,白板既可以当白板,同时也可以当金牌(譬如十三幺的时候,有两个白板,一个当白板,一个当金牌);全自摸中白板可以当白板,同时可以当两张金牌中的任何一张。
4、网络麻将为公平起见,不支持查花

龙岩算番
(飘花算番)
特殊牌型,倍数(底分1分)
1、抢金,4倍,即庄家8分,闲家4分,如庄家胡,闲家每人给庄家8分,闲家胡,庄家给8分,其余闲家给4分
2、三金倒,3倍,即庄家6分,闲家3分,如庄家胡,闲家每人给庄家6分,闲家胡,庄家给6分,其余闲家给3分
(2)自摸 三花,2倍不分庄闲
3、单游5倍,即庄家10分,闲家5分,如庄家胡,闲家每人给庄家10分,闲家胡,庄家给10分,其余闲家给5分
(3)自摸 暴头,2倍不分庄闲
4、双游10倍,即庄家20分,闲家10分,如庄家胡,闲家每人给庄家20分,闲家胡,庄家给20分,其余闲家给10分
(4)自摸 暴头 飘花,4倍不分庄闲
5、三游20倍,即庄家40分,闲家20分,如庄家胡,闲家每人给庄家40分,闲家胡,庄家给40分,其余闲家给20分
(4)自摸 暴头 三花 多飘花,16倍不分庄闲
6、自摸,2倍【1倍】,即庄家2分,闲家1分,如庄家胡,闲家每人给庄家2分,闲家胡,庄家给2分,其余闲家给1分
(6)自摸 平胡,2倍不分庄闲
(6)自摸 1倍不分庄闲
7、抢杠,由被抢的一方支付所以分数,如庄家抢闲家的,被抢的闲家给庄家6分,闲家抢庄家的,庄家给胡的闲家6分,闲家抢闲家的,被抢的闲家给胡的闲家4分。
(7)接炮,3倍,不分庄闲,由被抢一方支付胡的一方分数
8、 七大对自摸, 3倍,即庄家6分,闲家3分,如庄家胡,闲家每人给庄家6分,闲家胡,庄家给6分,其余闲家给3分
(8)自摸 2倍不分庄闲
9,七大对游金, 6倍,即庄家12分,闲家6分,如庄家胡,闲家每人给庄家12分,闲家胡,庄家给12分,其余闲家给6分
(9)自摸 暴头 4倍不分庄闲
10,七大对双游, 12倍,即庄家24分,闲家12分,如庄家胡,闲家每人给庄家24分,闲家胡,庄家给24分,其余闲家给12分
(10)自摸 暴头 飘花 8倍不分庄闲
11,七大对三游, 24倍,即庄家48分,闲家24分,如庄家胡,闲家每人给庄家48分,闲家胡,庄家给48分,其余闲家给24分
20170428添加:
CTableFrameSink::OnUserOperateCard这个函数共有640行代码(第1660~2300行)
//放杠(点杠、碰杠的一种)
SendGangScore(wChairID,true,true);
//明杠(回头杠、碰杠的一种)或暗杠
SendGangScore(wChairID,bPublic,false);
bPublic=true,bPassive=true
3、闲家放杠给闲家,放杠方扣4分,接杠方得4分;
4、闲家放给庄家:庄家(接杠方)得6分,闲家(放杠方)扣6分;
5、庄家放给闲家,庄家(放杠方)扣6分,闲家(接杠方)得6分;
bPublic=false,bPassive=false
1、庄家暗杠时,庄家得12分,闲家各扣4分;
2、闲家暗杠时,暗杠的一方得8分,闲家各扣2分,庄家扣4分;
bPublic=true,bPassive=false
6、庄家明杠时,庄家得6分,其他各闲家各扣2分;
7、闲家明杠时,闲家得4分,庄家扣2分,其他闲家各扣1分。

白板是替金的功能
//test
 BYTE byTest[] = {
  0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,//花牌
  0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,//同子     
  0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,     
  0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,     
  0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,     
  0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,//万子     
  0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,     
  0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,     
  0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,     
  //条子和番子
  0x32,0x26,0x29,0x28,0x28,0x34,0x34,0x36,
  0x33,0x22,
  0x34,//门牌
  0x21,0x25,0x23,0x26,0x27,0x27,0x28,0x32,0x35,0x36,0x37,0x36,0x21,//3
  0x21,0x22,0x24,0x27,0x31,0x33,0x36,0x37,0x37,0x29,0x31,0x25,0x33,//2
  0x22,0x23,0x23,0x24,0x24,0x25,0x26,0x29,0x31,0x32,0x32,0x33,0x31,//1
  0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x29,0x34,0x35,0x35,0x35,0x37,//0
  0x28,//金牌
 };
//test
 BYTE byTest[] = {
  0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,//花牌
  0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,//同子     
  0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,     
  0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,     
  0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,     
  0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,//万子     
  0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,     
  0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,     
  0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,     
  //条子和番子
  0x32,0x26,0x29,0x28,0x28,0x34,0x34,0x36,
  0x33,0x22,
  0x29,//门牌
  0x21,0x25,0x23,0x26,0x27,0x27,0x28,0x32,0x35,0x36,0x37,0x36,0x21,//3
  0x21,0x22,0x24,0x27,0x31,0x33,0x36,0x37,0x37,0x29,0x31,0x25,0x33,//2
  0x22,0x23,0x23,0x24,0x24,0x25,0x26,0x29,0x31,0x32,0x32,0x33,0x31,//1
  0x21,0x22,0x23,0x24,0x25,0x26,0x28,0x34,0x34,0x35,0x35,0x35,0x37,//0
  0x27,//金牌
 };

接炮
玩家A回头杠3条,玩家B抢杠胡3条
#define CHR_HAS_MAGIC    0x00004000         //赢家有金牌
#define CHR_QIANG_GANG_HU   0x00010000         //抢杠胡
81920=0x14000
//test
 BYTE byTest[] = {
  0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,//花牌
  0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,//同子     
  0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,     
  0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,     
  0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,     
  0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,//万子     
  0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,     
  0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,     
  0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,     
  //条子和番子
  0x32,0x26,0x29,0x37,0x35,0x36,0x23,
  0x33,0x33,0x22,
  0x27,//门牌
  0x21,0x22,0x24,0x25,0x26,0x27,0x28,0x29,0x34,0x34,0x34,0x35,0x35,//3
  0x21,0x22,0x24,0x31,0x33,0x34,0x36,0x36,0x37,0x37,0x29,0x31,0x25,//2
  0x22,0x23,0x23,0x24,0x24,0x25,0x26,0x29,0x31,0x32,0x32,0x33,0x31,//1
  0x21,0x25,0x23,0x26,0x27,0x27,0x28,0x28,0x32,0x35,0x37,0x36,0x21,//0
  0x28,//金牌
 };
打印日志:
sizeof(byTest)/sizeof(BYTE)=[144][0,41][1,42][2,43][3,44][4,45][5,46][6,47][7,48][8,1][9,2][10,3][11,4][12,5][13,6][14,7][15,8][16,9][17,1][18,2][19,3][20,4][21,5][22,6][23,7][24,8][25,9][26,1][27,2][28,3][29,4][30,5][31,6][32,7][33,8][34,9][35,1][36,2][37,3][38,4][39,5][40,6][41,7][42,8][43,9][44,11][45,12][46,13][47,14][48,15][49,16][50,17][51,18][52,19][53,11][54,12][55,13][56,14][57,15][58,16][59,17][60,18][61,19][62,11][63,12][64,13][65,14][66,15][67,16][68,17][69,18][70,19][71,11][72,12][73,13][74,14][75,15][76,16][77,17][78,18][79,19][80,32][81,26][82,29][83,37][84,35][85,36][86,23][87,33][88,33][89,22][90,27][91,21][92,22][93,24][94,25][95,26][96,27][97,28][98,29][99,34][100,34][101,34][102,35][103,35][104,21][105,22][106,24][107,31][108,33][109,34][110,36][111,36][112,37][113,37][114,29][115,31][116,25][117,22][118,23][119,23][120,24][121,24][122,25][123,26][124,29][125,31][126,32][127,32][128,33][129,31][130,21][131,25][132,23][133,26][134,27][135,27][136,28][137,28][138,32][139,35][140,37][141,36][142,21][143,28]
CMD_S_GameStart 庄家用户wBankerUser=[0],当前用户wCurrentUser=[0],补牌用户wReplaceUser=[65535],门牌m_cbSendCardData=[27],金牌cbChangeCard=[28]
i=[0]座,[28][28][21][21][23][25][26][27][27][27][32][35][36][37]
i=[1]座,[22][23][23][24][24][25][26][29][31][31][32][32][33][0]
i=[2]座,[21][22][24][25][29][31][31][33][34][36][36][37][37][0]
i=[3]座,[28][21][22][24][25][26][27][29][34][34][34][35][35][0]
CMD_S_GameEnd常规结束 供应用户wProvideUser=[69726948],供应麻将cbChiHuCard=[23],胡牌类型dwChiHuKind[0,1,2,3]=[0,0,0,64],胡dwChiHuRight1[0,1,2]=[81920,0,0],胡dwChiHuRight2[0,1,2]=[0,0,0],花牌个数cbHuaCardCount=[0],总番数cbFanCount=[1],多飘花bSecondMagic=[0],游戏积分lGameScore[0,1,2,3]=[0,-3,0,3],lGangScore[0,1,2,3]=[0,0,0,0]
CMD_S_GameEnd常规结束 i=[0]座,麻将数目cbCardCount=[13],[28][28][21][21][22][25][26][27][27][27][32][35][36][0]
CMD_S_GameEnd常规结束 i=[1]座,麻将数目cbCardCount=[10],[22][24][24][25][26][29][31][31][32][32][0][0][0][0]
CMD_S_GameEnd常规结束 i=[2]

这篇关于游金麻将胡牌与算番的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/986511

相关文章

hdu4431麻将模拟

给13张牌。问增加哪些牌可以胡牌。 胡牌有以下几种情况: 1、一个对子 + 4组 3个相同的牌或者顺子。 2、7个不同的对子。 3、13幺 贪心的思想: 对于某张牌>=3个,先减去3个相同,再组合顺子。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOExcepti

UVA11210麻将

最简单的胡法,四个三张+一对 先枚举第14张牌 然后找出1对的牌之后dfs搜索三张的搭配 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamRe

Android安卓麻将识别源码Demo( 三)

Android安卓麻将识别源码Demo( 三) 未经过允许不得转载,转载请联系我,如何联系,点我头像。 连载已经完结, 百度网盘测试APP下载地址:  链接:https://pan.baidu.com/s/1grwUcLkI9i3OABsLtB5h3Q  提取码:pkbl  先见效果图,另外我已经上传到了抖音视频,想看NB效果,可以点击链接直接观看: http://v.douyin.com

Android安卓麻将识别源码Demo( 二 )

Android安卓麻将识别源码Demo( 二 ) 未经过允许不得转载,转载请联系我,如何联系,点我头像。            连载已经完结, 百度网盘测试APP下载地址:  链接:https://pan.baidu.com/s/1grwUcLkI9i3OABsLtB5h3Q  提取码:pkbl  先见效果图,另外我已经上传到了抖音视频,想看NB效果,可以点击链接直接观看: http:/

Android安卓麻将识别研发流程( 一 )

Android安卓麻将识别研发流程( 一 ) 未经过允许不得转载,转载请联系我,如何联系,点我头像。 连载已经完结, 百度网盘测试APP下载地址:  链接:https://pan.baidu.com/s/1grwUcLkI9i3OABsLtB5h3Q  提取码:pkbl  先见效果图,另外我已经上传到了抖音视频,想看NB效果,可以点击链接直接观看: http://v.douyin.com/

日本麻将入门(二):牌效率【基础】

基础牌效率 引入 日麻,又称立直麻将。日麻的水平本质上与你是否会立直有很大关系(参见常用役种:立直:优点),但立直最大的缺点就是不能副露,导致我们只能通过自己的摸切来完成听牌形的组成。在这个过程中,应该先切什么牌更容易让我们组成听牌形,这个问题就称为牌效率,牌效率并不是日麻专有的问题,但是在禁吃碰杠的情况下,提升牌效率会显得更为重要。 牌效率是做牌的艺术,那我们先回顾一下基本型和牌的形状,一

2015-华为招聘公开测试题目2-麻将番数

思路:使用C++函数将字符串进行分段,并对每段进行判定。 #include<iostream>#include<string>using namespace std;int IsStr4(string& str){//确定是抓到“杠”了if(str[0]==str[2] && str[0]==str[4] && str[0]==str[6]&&str[1]==str[3] &&

日本麻将中的牌型名称,充满格调与文艺

日本麻将最大的特色就是实现了二次元,身穿水手服的可爱妹子,还有充满激情的热血少年,通常都会在日本麻将中看到,这样一来,就给日本麻将带来了不一样的特色。其中最值得一提的就是日本麻将中的牌型名称,不仅听起来充满格调,里面还带有一些文艺的气息,既独特又有新意,那么接下来就让我们一起了解一下吧! 日本麻将牌型一:国土无双 或许在日本麻将游戏中,打麻将只是为了证明自己应有的实力,而不是感受麻将游戏的乐

麻将的玩法及技巧

麻将是一种古老而受欢迎的博弈游戏,其玩法和技巧多种多样,因地区和玩家习惯的不同而有所差异。以下是一些通用的麻将玩法和技巧: 一、玩法 洗牌与码牌:玩家双手搓动牌,使牌均匀而无序地运动,称为“洗牌”。洗均匀之后,每人码36张牌,两张牌上下摞在一起为一墩,各自为18墩,并码成牌墙摆在自己门前,四人牌墙左右相接成正方形。 开牌:在国标麻将中,庄家掷骰,两颗骰子的总和所得的点数就是开牌的基数。以庄家为

麻将记帐游戏源码项目

以前有段时间挺喜欢玩麻将的,有的时候要打一圈算钱,于是无聊时写了这么一个麻将记帐软件,没什么太多的技术含量,也没花太多的时间,后来本想把它完善个做成一个完整的正式软件投放出去,后来觉得市场不大,谁打麻将有空去点这个哦,后来本想把语音做进去也没空去做,于是空着也是空着,放出来开源吧,大家就当无聊看看围观下啦。 有些使用规则还是说一下,免得有人下了也不会用这个软件: 右下角的色子是摇