前回の記事で天鳳(オンライン麻雀ゲーム)のサイトから牌譜ログを取得する方法を解説しました。www.barbaroiware.net天鳳の牌譜ログにはさまざまなデータが含まれていますが、今回は特に<AGARI>タグの中身(アガリ形のデータ)について解析していこうと思います。解析<AGARI>タグはたとえば以下のようなXML形式で保存されています。/>直感的に理解できるものやめちゃくちゃわかりにくいものなど色々ありますが、各属性をひとつずつ見ていきます。baこの属性は積み棒および供託のリーチ棒の数を表します。ba="2,3"であれば、2本場で供託リーチ棒が3本の状態でアガったことを表します。haiこの属性はアガリ形の手牌を表します。これには副露した牌は含まれませんが、和了した牌は含まれています。1つの数字が1枚の牌に対応しており、それぞれ0-135の数字が与えられています。同じ種類の牌が4つの数字で区別されていることに注意してください。具体的な対応関係は以下のとおりです。赤牌を採用する場合は同種牌の中でもっとも若い番号の牌が赤牌になります。(たとえば五萬には16-19の数字が割り当てられているが、そのなかでもっとも若い16が赤牌を表す)最初に挙げた例の「hai="8,9,11,20,25,30,36,43,46,50,51,72,79,81"」をこの表に従って置き換えていくと、「三三三六七八12344IIIII」になります。mこの属性は副露したメンツを表します。メンゼンであがった場合はこの属性はありません。非常に複雑なので別記事で解説する予定です。machiこの属性はアガリ牌を表します。数字の対応はhai属性と同じです。上の例の「machi="72"」を置き換えるとI(索子の1)になります。カンマで連結された形式で表現されています。上の例の「ten="30,7900,0"」は30符、7900点、満貫未満を表します。満貫情報の対応は以下のとおりです。役満yakuこの属性はアガリの役情報を表します。数字が2つずつセットになっており、最初の数字が具体的な役を表し、その後の数字が翻数を表しています。このセットを役の数だけカンマで連結しています。「yaku="1,1,2,1,0,1,53,1"」は「立直・1翻、一発・1翻、メンゼンツモ・1翻、裏ドラ・1翻」の計4翻を表しています。数字と具体的な役名の対応は以下のとおりです。役満の場合はこの属性はなく、代わりに次のyakuman属性が付与されます。大三元yakuman役満でアガった場合のみ付与される属性。「yakuman="47"」のような形式で表される。yaku属性と異なり翻数の情報はない。ダブル役満の場合はカンマで連結される。doraHaidoraHaiUraそれぞれ、ドラ表示牌、裏ドラ表示牌を表します。牌の対応はhai属性のものと同じです。どちらもドラそのものではなく「表示牌」であることに注意してください。カンにより増えた場合はカンマで連結されます。立直がない場合はdoraHaiUra属性はつきません。whoアガったプレイヤーの番号を表します。0は起家(東1局の親)を表し、東1局の南が1,西が2,北が3となります。fromWho放銃したプレイヤーの番号を表します。対応はwho属性と同じです。ツモの場合はwhoと同じ番号になることに注意してください。scアガリによる点数移動の情報を表します。「250,-39,250,-20,240,89,250,-20」なら、全員25,000点を持っている状態からプレイヤー3が8,900点でアガリ、プレイヤー1が3,900点、プレイヤー2とプレイヤー4が2,000点を支払ったことを表します。owari終局時の全員の持ち点、ウマを含めたポイント数を表します。最終局のみ付与されます。「owari="225,-17.0,411,50.0,227,3.0,137,-36.0"」なら、最終成績はプレイヤー1は22,500(-17.0)、プレイヤー2は41,100(+50.0)、プレイヤー3は22,700(+3.0)、プレイヤー4は13,700(-36.0)であることを示します。m属性は別の記事で解説予定...は未定。疲れた!カロリーメイトください。(1)MMD4Mecanimを使用してMMDモデルにUnityで踊って頂いてみた。(1)はてなブログをはじめよう!yjkymさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。