スポンサーサイト

--/--/-- -- --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告

天鳳の牌譜形式

2012/06/28 Thu 21:27

mjlogファイルについて

mjlogファイルはXMLで記述されている。2010年6月以降の牌譜はgzipで圧縮されているので解凍する必要がある。
文字コードはSJIS。

mjlogファイルの構造

冒頭に対局者情報や卓情報が記述されているタグがあり、そのあとに対局部分のタグがある。

<mjloggm...> <SHUFFLE.../> <GO.../> <UN.../> <TAIKYOKU.../> 対局部分のタグ
</mjloggm>

一局は<INIT.../>で始まり、和了や流局を表す<AGARI.../>もしくは<RYUUKYOKU.../>タグで終わる

<INIT.../> ツモ、打牌、副露、リーチを表すタグ
<AGARI.../>もしくは<RYUUKYOKU.../>

タグの詳細

各項目の意味など

属性値の中にはさらにカンマで区切られているものがあるのでそこに含まれる値の数を中身の数としています
INITに含まれるten="250,266,224,250"を例にすると、これは中身の数が4となります

T/U/V/W(1~135)

内容:プレイヤー(0~3)がツモ

補足:
先頭のアルファベットが各ユーザーに対応していて、後の番号がツモした牌
T=プレイヤー0 U=プレイヤー1 V=プレイヤー2 W=プレイヤー3

D/E/F/G(1~135)

内容:プレイヤー(0~3)が打牌

補足:
先頭のアルファベットが各ユーザーに対応していて、後の番号が捨てた牌
D=プレイヤー0 E=プレイヤー1 F=プレイヤー2 G=プレイヤー3

N

内容:副露

属性 中身の数 値の型 値の詳細 内容
who 1 整数値 (プレイヤー) 鳴いたプレイヤー
m 1 整数値 (副露値) 副露情報

REACH

内容:リーチ宣言・リーチ成功

属性 中身の数 値の型 値の詳細 内容
who 1 整数 (プレイヤー) リーチしたプレイヤー
step 1 整数 1:リーチ宣言 2:リーチ成功 リーチ宣言・リーチ成功
ten 4 整数 (プレイヤー0の点棒,プレイヤー1のの点棒,・・・)と記載される
値は下二桁省略
各プレイヤーの点棒

補足:
リーチ宣言時に一回呼ばれ、打牌後それがロンされなかったらリーチ成功としてもう一回呼ばれる

AGARI

内容:和了

属性 中身の数 値の型 値の詳細 内容
ba 2 整数 1個目:本場 2個目:リーチ棒の数 本場・リーチ棒
hai 可変(2~14) 整数 (牌) 手牌
m 可変(0~4) 整数 (副露値) 副露情報
machi 1 整数 (牌) 和了牌
ten 3 整数 1個目:符 - 値は20~110
2個目;点数 - 値は下二桁省略
3個目:和了ランク - 値は0:満貫以下 1:満貫 2:跳満 3:倍満 4:三倍満 5:役満
符・和了点・和了ランク
yaku 可変(0~最大複合役数)*2 整数 役満和了の場合は中身は値は空
(役1,役1の翻数,役2,役2の翻数,・・・)と記載される
n*2個目:役の種類 - 値は(役)
n*2+1個目:役の翻数 - 値は0~6
役の種類・役の翻数
yakuman 0~最大複合役満数 整数 (役) 役満の種類・役満の翻数
dora 可変(0~5) 整数 (ドラ,1個目の槓ドラ(槓した人がいた場合),2個目の槓ドラ,・・・)と記載される
値は(牌)
表ドラ
uradora 可変(0~5) 整数 開かれた表ドラの枚数と同じ
値は(牌)
裏ドラ
who 1 整数 (プレイヤー) 和了者
from 1 整数 (プレイヤー) 放銃者
sc 8 整数 (プレイヤー0の現在の点棒,プレイヤー0の変動する点棒,プレイヤー1の現在の点棒,プレイヤー1の変動する点棒,・・・)と記載される
1,3,5,7個目:現在の点棒 - 値は下二桁省略
2,4,6,8個目:変動する点棒 - 値は下二桁省略
各プレイヤーの現在の点棒・変動する点棒

補足:
属性:baについて
ダブロンの場合は上家から処理されるので、一人目と二人目でリーチ棒の数が異なるので注意
属性:haiについて
ロン和了の場合はロンした牌も含まれる
属性:mについて
副露している場合のみ存在
属性:yakuについて
リーチ和了のとき、裏ドラは付いてなくても裏ドラが記載される、その場合の翻数は0
例: yaku="1,1,7,1,52,1,53,0"
属性:yakumanについて
役満和了の場合のみ存在
属性:uradoraについて
リーチ和了の場合のみ存在
属性:fromについて
ツモ和了の場合は和了者と同じ
属性:scについて
変動する点棒には供託棒も含まれている
変動する点棒は支払いの場合はマイナス表記 例:満貫振り込みなら-8000

RYUUKYOKU

内容:流局

属性 中身の数 値の型 値の詳細 内容
ba 2 整数 1個目:本場 2個目:リーチ棒の数 本場・リーチ棒
hai0 1~14 整数値 (牌) プレイヤー0の手牌
hai1 1~14 整数値 (牌) プレイヤー1の手牌
hai2 1~14 整数値 (牌) プレイヤー2の手牌
hai3 1~14 整数値 (牌) プレイヤー3の手牌
type 1 整数 yao9:九種九牌 kaze4:四風連打 reach4:四人立直 nm:流し満貫 流局の種類
sc 8 整数 (プレイヤー0の現在の点棒,プレイヤー0の変動する点棒,プレイヤー1の現在の点棒,プレイヤー1の変動する点棒,・・・)と記載される
1,3,5,7個目:現在の点棒 - 値は下二桁省略
2,4,6,8個目:変動する点棒 - 値は下二桁省略
各プレイヤーの現在の点棒・変動する点棒

補足:
属性:hai0,hai1,hai2,hai3について
通常流局の場合は聴牌したプレイヤーだけ存在
九種九牌の場合はそのプレイヤーだけ存在
属性:typeについて
特殊流局の場合のみ存在
属性:scについて
特殊流局で点数変動がない場合も記載される
変動する点棒は支払いの場合はマイナス表記 例:三人聴牌の不聴罰符なら-3000

TAIKYOKU

内容:対局開始

属性 中身の数 値の型 値の詳細 内容
oya 1 整数値 不明 不明

INIT

内容:局開始

属性 中身の数 値の型 値の詳細 内容
seed 6 整数値 不明 不明
ten 4 整数値 (プレイヤー0の点棒,プレイヤー1のの点棒,・・・)と記載される
値は下二桁省略
各プレイヤーの点棒
oya 1 整数値 (プレイヤー)
hai0 13 整数値 (牌) プレイヤー0の配牌
hai1 13 整数値 (牌) プレイヤー1の配牌
hai2 13 整数値 (牌) プレイヤー2の配牌
hai3 13 整数値 (牌) プレイヤー3の配牌

補足:
属性:hai0,hai1,hai2,hai3について
プレイヤーの配牌は親でも13枚

BYE

内容:プレイヤーが回線落ち

属性 中身の数 値の型 値の詳細 内容
who 1 整数 (プレイヤー) 回線落ちしたプレイヤー

SHUFFLE

内容:乱数種情報

属性 中身の数 値の型 値の詳細 内容
seed 2 文字列 不明 不明
ref 1 不明 不明

補足:
よくわからない

GO

内容:卓情報

属性 中身の数 値の型 値の詳細 内容
type 2 整数値 (卓の種類) 卓情報

UN

内容:対局者情報

属性 中身の数 値の型 値の詳細 内容
n0 1 文字列 URLエンコードされた文字列 プレイヤー0の名前
n1 1 文字列 URLエンコードされた文字列 プレイヤー1の名前
n2 1 文字列 URLエンコードされた文字列 プレイヤー2の名前
n3 1 文字列 URLエンコードされた文字列 プレイヤー3の名前
dan 4 整数値 (プレイヤー0の段位,プレイヤー1の段位,・・・)と記載される
値は(段)
各プレイヤーの段位
rate 4 整数値 (プレイヤー0のレート,プレイヤー1のレート,・・・)と記載される
値は3~4桁の整数値
各プレイヤーのレート
sx 4 文字列 (プレイヤー0の性別,プレイヤー1の性別,・・・)と記載される
値はF:女性 M:男性 C:コンピューター
各プレイヤーの性別

補足:
三麻の場合はn3は空、danの4つ目の値は0、レートの4つ目の値は1500、性別の4つ目の値はCとなっている
三麻の場合はhai3は存在しない

UN(局中に呼ばれた場合)

内容:プレイヤーが回線落ちから復帰

属性 中身の数 値の型 値の詳細 内容
n0 1 文字列 URLエンコードされた文字列 プレイヤー0の名前
n1 1 文字列 URLエンコードされた文字列 プレイヤー1の名前
n2 1 文字列 URLエンコードされた文字列 プレイヤー2の名前
n3 1 文字列 URLエンコードされた文字列 プレイヤー3の名前

補足:
回線落ちしたプレイヤーが復帰したことを表す 属性は復帰したプレイヤーだけ存在。例の場合はプレイヤー0が復帰したことを表している。

mjloggm

内容:ログ開始

属性 中身の数 値の型 値の詳細 内容
ver 1 浮動小数点 現在は2.3 ログのバージョン

DORA

内容:槓ドラを開く

属性 中身の数 値の型 値の詳細 内容
hai 1 整数 (牌) 開かれたドラ牌

補足:
槓ドラが開かれたタイミングに呼ばれる
明槓や加槓の場合はツモタグの後、暗槓の場合副露タグの後に呼ばれる

スポンサーサイト
天鳳牌譜解析 | コメント(0) | トラックバック(0)
コメント

管理者のみに表示

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。