前回の記事の続きです。www.barbaroiware.net前回は<AGARI>タグ内のm属性の意味と、順子の場合のデータにについて解説しました。今回は刻子、および槓子の場合のデータについて解説します。前回、m属性の値はデータが格納されている16bitの2進数ビットフィールドを10進数に変換したものであるということを説明しました。10進数の"42367"は2進数で表すと"1010010101111111"となり、これが副露した1メンツのデータを表しています。右から数えて3番目のbit(以下3ビット目)が0かつ、4ビット目が1の場合、そのメンツは刻子であることが確定します。この場合、各bitの意味は以下の通りになります。刻子のパターンを示すまず1-2ビット目は順子同様誰から鳴いたかを示します。対応は順子の場合と同じですので省略します。3-4ビット目が「0x10」(4ビット目を先に読む)であれば、このメンツが刻子であることを示します。6-7ビット目は刻子に含まれない牌を特定する情報です。順子のところでも解説したとおり、天鳳では同じ種類の4枚の牌(同種牌)をそれぞれ別のものとして管理しています。この2ビットを使ってどの牌が使われていないかという情報を示しています。ややこしいので具体例を後ほど解説します。10-16ビット目は刻子のパターンを表します。刻子のパターンとはたとえば、「字牌の西西西の組み合わせで1番目(左側)の西をポンした順子」といった情報のことです。ビットフィールドとの対応は以下の通りです。各9パターン、字牌で東~中の7パターンの組み合わせが考えられ、さらにどの牌を鳴いたかの情報が加わりますので、刻子のパターンとしては(3×9+7)×3=102とおりの組み合わせが考えられます。6-7ビット目の情報が「0x10」で10-16ビット目の情報が「0x1100101」だったとします。6-7ビット目の情報「0x10」は「0x00」から数えて3番目のビットですので、「この刻子には3枚目の同種牌が使われていない」という情報になります。10-16ビット目の情報「0x1100101」は上の対応表を参考にすると「中の刻子(明刻)で3番目の中をポンしたもの」ということがわかります。これらの情報をあわせて考えると、この刻子は「1枚目の中、2枚目の中、4枚目の中で構成されている刻子で、3番目の『4枚目の中』をポンした明刻である」ということがわかります。刻子と重複する部分が多いので、加槓の場合を先に説明します。加槓の場合の各ビットの意味は以下のとおりです。刻子のパターンを示す刻子との違いは事実上、4-5ビット目のフラグのみです。3-5ビット目が「0x100」(5ビット目から読む)であれば、このメンツが加槓であることを示します。加槓であることを示すフラグは5ビット目の情報ですが、順子の場合5ビット目は別の情報(「順子の1枚目の牌を同種牌4枚の中から特定する」)に当てられていますので、5ビット目を見ただけでは加槓であると判定できないことに注意してください。6-7ビット目は加槓した牌を同種牌4枚の中から特定する情報ですが、加槓した牌というのはすなわち明刻に含まれていない牌ということになりますので、事実上明刻と同じ情報になります。1-2ビット目、10-16ビット目も明刻と同様に、加槓する前の刻子(明刻)についての情報を示しています。残りの暗槓、明槓のメンツについては次の記事に分けます。カロリーメイトください。(1)MMD4Mecanimを使用してMMDモデルにUnityで踊って頂いてみた。(1)はてなブログをはじめよう!yjkymさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。