カロリーメイトください

Barbaroi Ware(バルバロイ・ウェア)という名前でアプリ開発してます

天鳳の牌譜ログの<AGARI>タグを解析してみる④

概要

前回の記事の続きです。

www.barbaroiware.net

前回は<AGARI>タグ内のm属性が刻子および加槓を示している場合のデータにについて解説しました。

今回は暗槓、および大明槓の場合のデータについて解説します。

暗槓および大明槓

これまでに説明してきたとおり、m属性の値はデータが格納されている16bitの2進数ビットフィールドを10進数に変換したものです。

具体的には

<AGARI ... m="42367,50251" ... >

というようなXML形式で天鳳のログファイルに記録されています。

たとえば10進数の"42367"は2進数で表すと"1010010101111111"となり、これが副露した1メンツのデータを表しています。

右から数えて3番目のbit(以下3ビット目)から5番目のbitまでがすべて0の場合、そのメンツは暗槓、もしくは大明槓であることが確定します。

この場合、各bitの意味は以下の通りになります。

ビット目
1-2ビット目 誰から鳴いたか(00の場合、暗槓であることを示す)
3ビット目 必ず0(順子でないことを示す)
4ビット目 必ず0(刻子ないことを示す)
5ビット目 必ず0(加槓でないことを示す)
6ビット目 1の場合は三人麻雀の抜きドラを示す
7-8ビット目 (未使用)
9-16ビット目 槓子のパターンを示す

まず1-2ビット目は他のメンツ同様誰から鳴いたかを示します。
ビットフィールドとの対応は前々回の記事内の順子の場合を参照してください。
ここが0x00の場合、自分から鳴いたという情報になりますので、槓子なら暗槓であることを示します。

3-5ビット目が「0x000」であれば、このメンツが暗槓もしくは大明槓であることを示します。
他のメンツと異なり、暗槓や大明槓であることを示す特定のフラグはなく、
「順子、刻子、加槓であるフラグがない」という情報をもって、このメンツは暗槓、もしくは大明槓であることが確定されます。

6ビット目は三人麻雀(三麻)の場合に使用されるらしいですが、よくわかってないので省略。

9-16ビット目は槓子のパターンを表します。
槓子のパターンとはたとえば、「字牌の西の槓で1枚目の西をカンした暗槓、もしくは大明槓」といった情報のことです。

刻子や加槓の場合と異なり、同種牌の中での組み合わせを考える必要はないことに注意してください。

ビット情報との対応は以下の通りです。(ビット情報の0xは2進数であることを示す)

ビット情報 順子パターン
0(0x00000000) 一一一一(1枚目の一をカン)
1(0x00000001) 一一一一(2枚目の一をカン)
2(0x00000010) 一一一一(3枚目の一をカン)
3(0x00000011) 一一一一(4枚目の一をカン)
4(0x00000100) 二二二二(1枚目の二をカン)
5(0x00000101) 二二二二(2枚目の二をカン)
34(0x00100010) 九九九九(3枚目の九をカン)
35(0x00100011) 九九九九(4枚目の九をカン)
36(0x00100100) ①①①①(1枚目の①をカン)
37(0x00100101) ①①①①(2枚目の①をカン)
70(0x01000110) ⑨⑨⑨⑨(3枚目の⑨をカン)
71(0x01000111) ⑨⑨⑨⑨(4枚目の⑨をカン)
72(0x01001000) ⅠⅠⅠⅠ(1枚目のⅠをカン)
73(0x01001001) ⅠⅠⅠⅠ(2枚目のⅠをカン)
106(0x01101010) ⅨⅨⅨⅨ(3枚目のⅨをカン)
107(0x01101011) ⅨⅨⅨⅨ(4枚目のⅨをカン)
108(0x01101100) 東東東東(1枚目の東をカン)
109(0x01101101) 東東東東(2枚目の東をカン)
134(0x10000110) 中中中中(3番目の中をカン)
135(0x10000111) 中中中中(4番目の中をカン)

暗槓、もしくは大明槓の場合、萬子・筒子・索子で各9パターン、字牌で東~中の7パターンの組み合わせが考えられ、さらにどの牌を鳴いたかの情報が加わりますので、刻子のパターンとしては(3×9+7)×4=136とおりの組み合わせが考えられます。

そんなとこで天鳳解析シリーズは以上です。
まぁ自分で実際にやってみないとわかんないですね!

カロリーメイトください。

PR

そんなことを考えながら作ったアプリがこちらです
kankeli.netAndroid
https://play.google.com/store/apps/details?id=com.BarbaroiWare.MahjongScoreDrilliOS
https://apps.apple.com/jp/app/id1493166793