みちのいに!!スマートフォン用の表示で見るみちのいに!!自分のメモと、他にもハマる人がいそうなことを書くこの広告は、90日以上更新していないブログに表示しています。mjlog形式について牌譜解析するにあたって、mjlog形式の仕様がよくわからないので調べた。2010年ごろの記事は多いんだけど、リンクが切れてたりなんだかんだでアレなので書きます。公式のコードhttp://tenhou.net/1/script/tenhou.jshttp://tenhou.net/img/tehai.js牌譜の入手方法プレミアムだと簡単に自分の分は保存できるらしい。牌譜IDを入手するFlash版クライアントの[メニュー]->[牌譜の管理]->[バックアップ]にhttp://tenhou.net/0/?log=2011020417gm-00a9-0000-b67fcaa3&tw=1こんな感じのURLがある。このlog=の後の、正規表現でいうところの[0-9]{10}gm-[0-9a-f]{4}-[0-9]{4}-[0-9a-f]{8}な部分を牌譜IDと以降呼ぶ。これは、{日付時刻}gm-{対局形式}-{ロビー}-{乱数?}という構造である。tw=1の部分は自分がどのユーザかを示す(後述)。大量の牌譜を入手したい場合は、鳳凰卓のみ公開されている。http://tenhou.net/sc/raw/また天鳳位の一人ひとりの牌譜も公開されている。あるので注意することこのリンクはhttp://e.mjv.jp/0/log/archived.cgi?{ID}http://e.mjv.jp/0/log/plainfiles.cgi?{ID}http://e1.mjv.jp/0/log/?{ID}などにリダイレクトされるが、正直よくわからないmjlogファイルがgzip圧縮されているという記述をたまに見かけるので留意すること。古いファイルのみで、私はあまり古いファイルを解析しないので遭遇していない。ファイル構造mjlogファイルはXML形式で記述されている。mjloggmタグ以下は階層構造を作っていない。(中略)</mjloggm>麻雀牌についてそれぞれの牌には0~135のIDが割り当てられている。0~3は1m,4~7は2mといった具合である。Unicodeの配置順とは異なるため注意すること。ver="2.3">rootタグ。/>refは不明seedhttp://tenhou.net/man/に記述がある。例の169は10101001より、鳳南喰赤とわかる。lobby対局ロビーを表す。段位戦は0UN対局者について。対局開始前に有るが、再接続時なども呼ばれる。三麻は三人分しか入ってない(4人目は、名前は"“、段位やレートはデフォルト値、性別はコンピュータ)。n0="%2D%72%6F%6E%2D"/>n0,n1,n2,n3対局者の名前がパーセントエンコーディングされている。観戦機能で匿名表示した時に順にAさん、Bさん、Cさん、Dさんと表示される。Aさんから順にカンマ区切りで整数値が入っている。Aさんから順にカンマ区切りで整数値が入っている。Aさんから順にカンマ区切りで1文字入っている。カンマ区切りで整数値が入っている。Aさんから順にカンマ区切りで整数値が入っている。step="2"/>who立直をした人を表すstep1のとき立直宣言をする。その後打牌をし、ロンされなければstep=“2"が呼ばれる。floor(t/3)番目のものを最小の数牌とする。floor(t/3)番目のものを鳴いた牌とする。/>hai槓ドラ表示牌のIDAGARI誰かが和了したことを示す。ダブロンなど、2つ発生することもある。カンマ区切りの整数で、ba[0]が百点棒(本場)、ba[1]がリーチ棒を表す。hai和了した時の手牌。和了牌も含まれている。カンマ区切りの整数で牌IDを表す。カンマ区切りの整数で、ten[0]が符、ten[1]が和了点を表す。役満yaku役について[役A,役Aの翻数,役B,役Bの翻数,役C,役Cの翻数]と言った具合である。役満はyakuman属性に記述される。カンマ区切りの整数で、ba[0]が百点棒(n本場)、ba[1]がリーチ棒を表す。Aさんの変動,Bさんの点数,Bさんの変動,......,Dさんの変動]この点数は変動が反映される前の点数となっているhai0,hai1,hai2,hai3流局によって手牌が公開される場合の牌。副露したものは示されない。(1)はてなブログをはじめよう!nakeiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。