天鳳牌譜解析#4 立直、拔北與碰牌

大家好,這裡是踢西烏
這篇文是牌譜解析的第四篇,會著墨於立直與鳴牌的部分
在上一回中我們有提到
眾多摸打之中會穿插著REACH與M標籤
這裡我們先針對較為簡單的立直進行分析

http://tenhou.net/0/?log=2021052315gm-00b9-0000-8eed03eb&tw=2
https://tenhou.net/0/log/?2021052315gm-00b9-0000-8eed03eb

一樣先舉一個作為示例,東一局一本場中有下列這串標籤:

<REACH who="0" step="1"/>
<D62/>
<REACH who="0" ten="418,311,311,0" step="2"/>

如果有打過實麻的朋友應該知道,進行立直的流程是:
宣告立直→捨牌→沒有被榮和的話丟棒
而在天鳳的牌譜紀錄上也是如此
第一個REACH標籤中
who屬性表示立直玩家,step表示步驟
在牌譜上我們可以看到,這一步正是代表n0宣告立直的動作
宣告立直後,打出編號為62的牌
62÷4 = 15···2,15÷9 = 1···6,可知其打出的牌是七餅
打出的牌沒有被榮和,所以進入交付立直棒的環節
第二個REACH標籤中,除了原先前相同概念的who與step
因為丟棒之後點數有改變
所以用ten屬性再對各家點數進行一次設定
至此,立直的紀錄就結束了
值得一提的是,如果宣言牌被榮和
那自然就不會有step="2″的REACH標籤了

接下來是比較痛苦的N標籤,也就是鳴牌部分
這個N,筆者推測應該是取自鳴牌Naki的首文字
屬性who表示玩家、m表示副露內容,應該是取自英文Meld
每個m值,都是以16bit的數字表示
而所有的鳴牌種類,包含吃、碰、明槓、暗槓、加槓、拔北
都用了不一樣的標記方式

這邊先舉一個拔北的示例
東一局,開局過了不久出現了這個標籤

<N who="0" m="30752" />

而30752這個數字,我們先將它轉成二進制
30752 = 0111 1000 0010 0000
對於拔北而言,Bit 0~4與Bit 6, 7固定為0
Bit 5 = 1表示這是拔北的鳴牌標籤
而Bit 8~15則表示牌的編號
0111 1000 = 120,120÷4 = 30,30÷9 = 3···3
可以知道這的確是一張北
緊接著的就留給各位讀者嘗試解碼

過了幾巡之後,又出現了一個碰牌的標籤

<N who="0" m="19466" />

我們同樣先把19466轉為二進制
19466 = 0100 1100 0000 1010
對於碰牌而言,Bit 2, 4, 7, 8固定為0
Bit 3 = 1表示這是碰牌的鳴牌標籤
Bit 0與1一起表示鳴牌的來源
01表示下家、10表示對家、11表示上家
而因為碰牌有三張同種牌,我們只需要紀錄哪張牌沒有用到
所以將沒有用到的那張牌÷4取餘數後,以二進制表示在Bit 5, 6
Bit 9~15的部分比較不好解析
因為我們已經記錄了沒有用的那張牌,也記錄了鳴牌來源
所以我們可以想成,在所有34個牌種裡面,每牌種有三個碰牌方式
鳴牌來源的那張牌,是牌的編號由小到大第幾張,決定是第幾個
以這樣的方式,來記錄碰牌的面子組合
這樣講可能還是有點抽象,所以我們來試著分析19466這個數字
Bit 0, 1 = 10,是對家打出的
Bit 5, 6 = 00,沒有用到的那張牌,是同種牌裡面最小的
Bit 9~15 = 010 0110 = 38,38÷3 = 12···2,12÷9 = 1···3
可以知道,碰的牌是四餅
沒有用到的牌是編號12×4 + 0 = 48
使用的牌是編號49, 50, 51
而鳴牌來源是最大的那張牌,即51

以上,下一篇會繼續補完大明槓、暗槓、加槓與吃牌
這篇內容相對艱深不少,筆者也花了很長一段時間理解
有講得不清楚或有謬誤的地方還請大家提出

Reference:
https://m77.hatenablog.com/entry/2017/05/21/214529
http://jyanryu.blog.fc2.com/blog-entry-18.html
https://c.tieba.baidu.com/p/4452478082
https://mahjong.nekoeigo.net/mjlog/

本文同步更新於於Wordpress及ptt MJ_JP:
https://tcjpmjlab.wordpress.com/2023/08/31/tenhou_mjlog_4/
https://www.ptt.cc/bbs/MJ_JP/M.1695637404.A.F20.html
Facebook粉專:
https://www.facebook.com/TCJPMJLab

發表留言

使用 WordPress.com 設計專業網站
立即開始使用