Skip to content

hjzts666/TJMJ

 
 

Repository files navigation

TJMJ – 桃江经典王麻将(个人娱乐版)

【项目介绍】

湖南桃江人打的经典王麻将TJMJ,仅供家人朋友娱乐学习使用。目前市面上仅有闲逸app有益阳麻将玩法(但是其需要登陆;界面繁琐;玩法和桃江麻将不完全一致;且缺少拖拽手牌、实时语音和打字聊天等功能)。于是设计开发一款和桃江麻将玩法高度一致的TJMJ(包含扎鸟、打筛扳王、开杠摸三张、各种门子胡法、加番规则等): 以链接的形式点击直接进入房间,只开一桌麻将(4人);表情功能;可以进行语音交互;增加观战模式(一次只能选择一方); 在基础上训练mahjong agent(NPC),大家可以学习NPC打法提升麻将技术!

尝试了微信开发者工具(.js + .wxml + this.setData)但小游戏类(尤其棋牌类)需要备案,且暂不对个人开放; cocos dashboard入门慢开发效率低,时间精力不足;

参考方案:

由于个人全栈开发一套完整且稳定的TJMJ比较麻烦,在TJMJ的基础框架和功能完成后,将交由其他developers进行二次开发和维护,最后祝大家玩的开心!

【【!!!后端逻辑!!!】】

【打筛扳王&摸牌发牌规则】

赢的庄家打筛,从庄家面前开始数筛子点数和(庄家是1,下家2、对家3、上家4、回到庄家5……依次类推,庄家1 5 9,下家2 6 10,对家3 7 11,上家4 8 12)

数到的那一家面前的牌堆的右手边开始往左数数,空掉两个筛子中最小的数,庄家从这里开始抓牌。

抓牌规则是从庄家开始每个人分别抓三码(一码就是两叠,一叠就是2,一共4张牌)后,四家手里都有3*4=12张牌;然后收庄,每家抓1张牌后,四家各有13张手牌,庄家再抓1张(此时只有庄家手里有14张,其他三家手里是13张),庄家回合开始出牌,游戏开始(回合逆时针进行) 【打筛扳王(癞子)】

数到的那一家的下家面前的牌堆的左手边开始往右数数,从第一叠麻将(为1)数到两个筛子中最大的数停止,扳开这叠最上面的麻将,这个麻将就是“地”,这个麻将的数字+1就是“天”(癞子)(如果扳开的是9,那癞子就是1)

【吃碰杠胡】

  • 吃:只能吃上家;如果同一花色,上家打来的和自己手牌中的两张牌刚好能组成“一句话”(比如,上家打来4,你手里有23或者35或者56,你就可以吃)

  • 碰:任何一家打出一张手牌,如果你手里有两张相同的牌,你都可以选择碰!

  • 杠:手里有四张相同的牌,并且除了这四张牌已经“报听”就可以开杠,开杠的规则是重新掷筛子,打出的点数从牌堆中末尾为1开始数数,数到筛子的点数那里抽3张牌,有要胡的牌就胡,没有的画依次从听牌的下家开始要牌,能胡就胡了;

  • 明杠&暗杠 抢杠规则:如果是明杠,开杠的牌如果正好是其他玩家要胡的牌,直接判输全赔一家(相当于抓炮) 优先级:点炮(胡)>碰(杠)>吃

【胡法规范与计分规则】

每个玩家初始0分,每一局底分为1分

所有胡法与获得分数为为:

【基本胡法】

一对“将”(必须是一对2或者一对5或者一对8,三种花色都可以)+“四句话”(“一句话”可以是三张相同的牌,比如:111、555、777……;也可以是三张连续的牌,比如:123、456、789……)

  • 平胡(1倍,共得3分):手牌里有“王”,14张手牌可以构成
  • 硬庄(2倍,共得6分):手牌里无“王”

📐门子胡法

  • 诈 胡;牌局结束,开始下一句,由诈胡方当庄家
  • 黑天胡:对局首轮14张手牌中:无“王”,无“将”(任何花色的“2、5、8”),无“一句话”(任何牌都不能构成111或者123的形式)
  • 地 胡:摸到三张“地”,需要轮到你的回合,摸一张可以直接胡牌结束
  • 天 胡:手牌里有3个“王”,并且“王”任作之后能组成一对+四句话
  • 天天胡:手牌里有4个“王”,并且“王”任作之后能组成一对+四句话
  • 碰碰胡:一对+四句话都要是“AAA”的形式,比如AA+BBB+CCC+DDD+EEE,有王可以抓炮
  • 清一色:手牌全部是同一花色(可以有“王”),可以抓炮
  • 七小对:手牌14张可以组成7个对子,“AA+BB+CC+DD+EE+FF+GG”的形式,有王可以抓炮(除了天胡七小对)
  • 将将胡:手牌14张全部是由“将”“258”组成,有王可以抓炮
  • 起手胡:首轮,庄家14张手牌能直接胡
  • 硬 庄:手牌无王,可以抓炮
  • 开 杠:分明杠和暗杠。暗杠:手中有四张相同的牌,不用亮出来,除去这四张牌听牌后,可以选择开杠打筛摸三张,如果其中有一张牌能胡则胡,否则依次下家开始胡这三张,若有人胡则庄家得多少出多少给这一家;若都不能胡则弃入牌堆
  • 地胡带拖:摸到三张“地”不选择胡,选择三张“地”作为“一句话”使用(相当于平胡1+地胡2=3倍)
  • 起手报听:开局摸牌前,除庄家,其他三家起手13张只差“一个将”或者“一句话”,有王可以抓炮
  • 天胡七小对:
  • 天胡杠上花:
  • 硬庄将将胡:

算分!!!!!!!!!!!!!!!

自摸(含扎鸟):

  • 诈 胡:赔三家,看牌型情况应得多少赔多少
  • 黑天胡:2番。赢家扎鸟扎一家得8,扎鸟全中得12;输家未扎中出2,扎中出4
  • 地 胡:2番。赢家扎鸟扎一家得8,扎鸟全中得12;输家未扎中出2,扎中出4
  • 天 胡:1+2=3番。赢家扎鸟扎一家得12,扎鸟全中得18;输家未扎中出3,扎中出6
  • 天天胡:1+2+2=5番。赢家扎鸟扎一家得20,扎鸟全中得30;输家未扎中出5,扎中出10
  • 碰碰胡:2番。赢家扎鸟扎一家得8,扎鸟全中得12;输家未扎中出2,扎中出4
  • 清一色:2番。赢家扎鸟扎一家得8,扎鸟全中得12;输家未扎中出2,扎中出4
  • 七小对:2番。赢家扎鸟扎一家得8,扎鸟全中得12;输家未扎中出2,扎中出4
  • 将将胡:2番。赢家扎鸟扎一家得8,扎鸟全中得12;输家未扎中出2,扎中出4
  • 起手胡:2番。赢家扎鸟扎一家得8,扎鸟全中得12;输家未扎中出2,扎中出4
  • 开 杠:2番。赢家扎鸟扎一家得8,扎鸟全中得12;输家未扎中出2,扎中出4
  • 硬 庄:2倍。赢家扎鸟扎一家得8,扎鸟全中得12;输家未扎中出2,扎中出4
  • 地胡带拖:1+2=3番。赢家扎鸟扎一家得12,扎鸟全中得18;输家未扎中出3,扎中出6
  • 起手报听:2番。赢家扎鸟扎一家得8,扎鸟全中得12;输家未扎中出2,扎中出4

组合胡法

天胡七小对全中:(3+2)✖2 = 5番。

天胡杠上花全中:(3)*2 ✖2 = 6番。

硬庄将将胡不中:(2)*2 ✖2 = 4番。

软庄碰碰胡的地胡带托不中:(碰碰胡2+地胡带托2) ✖软庄1 ✖扎鸟1 = 4番

硬庄将将胡的碰碰胡的天胡杠上花全中:(将将胡2+碰碰胡2+天胡2+杠上花2)✖硬庄2 ✖扎鸟2 = 32番

软庄清一色的碰碰胡的地胡带拖的杠上花不中:(2+2+2+2)✖1✖1 = 8番

硬庄清一色的碰碰胡的天地胡带托杠上花全中:(2+2+2+2+2)✖2✖2 = 40番

组合胡法得分计算公式:

自摸:(SUM门子倍数)✖扎鸟✖杠倍数 抓炮:

抓炮(含扎鸟)

📖麻将术语

  • “听牌”:13张手牌(包含自己吃和碰的)还差凑够一张就能够胡牌,构成
  • “扎鸟”:胡牌结束后,庄家是1 5 9其他三家依此类推;扳开本该下一个人要摸的牌,如果数字显示是1或者5或者9,那么所有玩家输的分翻倍(全中);如果是2 6,只有下家翻倍;如果是3 7,只有对家翻倍;如果是4 8,只有上家翻倍。
  • “全中”:扎鸟扳开的麻将数值是1或5或9.
  • “庄家”:上局胡牌获胜的一方;“下家”:当前家按逆时针的下一家;“对家”:当前家按逆时针的第二家;“上家”:当前家按逆时针的第三家
  • “王”:癞子的意思,可以任作,充当其他麻将手牌使用
  • “门子”:除了平胡以外的像碰碰胡、清一色、杠这种就算一个“门子”,“门子”采用加番规则(累加)(比如胡了一个)
  • “108子”:108子分三种花色万wan、条tiao、筒tong;数字分别都是从1-9,每个数字有4张相同的牌,共:3 ✖ 9 ✖ 4 = 108张;
  • “36将”:108子中任意花色的数字2、5、8为“将”,共:3 ✖ 3 ✖ 4 = 36将

⚠️免责声明

本项目为个人娱乐学习用途,不涉及任何商业行为。 所有规则及实现仅供参考,实际游玩请以当地线下规则为准。 因使用本软件产生的任何争议或损失,开发者不承担相关责任。

结语

欢迎 fork / 二次开发,期待你的贡献! Enjoy the game! 🀄🎉

【功能】

点击链接进入桃江麻将主界面后,共有单人 联机 观战三种模式可以选择 轻点声音按钮可开启或关闭首页背景音乐 以单人模式为例 麻将规则与桃江麻将玩法高度一致

点击人物头像可以发送表情 点击人物头像下方的计分可以实时转分

右上角有五个功能按钮 分别是播放下一首 钢琴纯音乐模式开启/关闭背景音乐 开启/关闭麦克风、文字弹幕聊天 手牌可以随机拖动摆放顺序 自动摸张在右侧 手牌右侧的吃 碰 杠 胡亮起后可以点击选择也可以选择过 自动摸张 牌局结束进入结算界面 点击确定进入下一局对局 共16局

【问题】

  1. 兼容性的问题(安卓和苹果、手机和电脑)
  2. 实时语音最多三人,且非常不稳定
  3. 结束界面看不到赢家的所有牌,不知道谁赢
  4. 加麻将音效(一万、吃、我胡了……)
  5. 改昵称问题
  6. 服务器断开连接离线后重回房间!!!预防卡死机制!!!
  7. 复杂吃碰逻辑有问题,容易卡死,点击过于频繁崩溃

托管模式 胡牌判定失败,或者一旦界面卡死四人可以选择重开

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Vue 55.0%
  • JavaScript 28.6%
  • HTML 13.1%
  • CSS 1.9%
  • Batchfile 1.4%