-
Notifications
You must be signed in to change notification settings - Fork 15
1戦分の対局記録を表すJSON形式データ
東南戦、東風戦、一局戦を問わず順位が確定する単位で模打を記録する。 リーグ戦などのシリーズ対局も1戦ごとの牌譜を配列に収めることで表現できるが、その形式については規定しない。
{
title: "第十期 天鳳名人戦\n第一節 1卓(1)",
player: [ "(≧▽≦)\n(天鳳位 R2242)",
"Ⓟ木原浩一\n(新人 R1500)",
"太くないお\n(天鳳位 R2224)",
"Ⓟ小林剛\n(新人 R1500)" ],
qijia: 0,
log: [ /* 対局情報 */ ],
defen: [ 9100, 23100, 36400, 51400 ],
rank: [ 4, 3, 2, 1 ],
point: [ "-90.9", "-6.9", "26.4", "71.4" ]
}
牌譜のタイトル。改行を含めてもよい。改行を含む場合は1行目をリーグ戦名、2行目以降を節名や開催日などにすることを推奨する。
対局者情報。仮東から順に並べる。個々の対局者情報には改行を含めてもよい。改行を含む場合は1行目を個人を特定できる情報とし、2行目以降に段位や通算獲得ポイントなどの付加情報とすることを推奨する。
起家。0
: 仮東、1
: 仮南、2
: 仮西、3
: 仮北。仮東の概念のない対局では第一局の東家を仮東とし、qijia に 0
を設定すればよい。
対局情報。各局の局情報の配列。後述する。
終了時の持ち点。仮東から順に並べる。
着順。1
: トップ ~ 4
: ラス。仮東から順に並べる。
順位点を含めたポイント。小数点以下の桁数に意味がある場合もあるので文字列形式。仮東から順に並べる。
このレベルには上記以外の追加の属性を加えることも可。例えば対局者をユニークに識別するためのIDや対局ルールの説明などを加えてもよい。
[
[ /* 局情報 */ ],
/* ... */
[ /* 局情報 */ ]
]
東一局からオーラスまでの各局の局情報の配列。局情報は以下で説明。
[
{ /* 模打情報 */ },
/* ... */
{ /* 模打情報 */ }
]
配牌から和了あるいは流局までの模打情報の配列。各模打情報は以下で説明。
{ qipai: {
zhuangfeng: 0,
jushu: 0,
changbang: 0,
lizhibang: 0,
defen: [ 30000, 30000, 30000, 30000 ],
baopai: "s5",
shoupai: [ "m478p33089s6z1257",
"m19p1389s1299z255",
"m67p68s1346789z17",
"m14689p377s07z346" ]
} }
場風。(0
: 東、1
: 南、2
: 西、3
: 北)
局数。(0
: 一局、1
: 二局、2
: 三局、3
: 四局)
本場。
その局開始時の供託リーチ棒の数。
その局開始時の対局者の持ち点。その局の東家から順に並べる。
ドラ表示牌。
配牌の 牌姿。その局の東家から順に並べる。
{ zimo: { l: 0, p: "m4" } }
手番。(0
: 東家、1
: 南家、2
: 西家、3
: 北家)
ツモった 牌。
{ dapai: { l: 1, p: "z2*" } }
手番。(0
: 東家、1
: 南家、2
: 西家、3
: 北家)
切った 牌。
{ fulou: { l: 0, m: "m567-" } }
手番。(0
: 東家、1
: 南家、2
: 西家、3
: 北家)
副露した 面子。
{ gang: { l: 1, m: "z222-2" } }
手番。(0
: 東家、1
: 南家、2
: 西家、3
: 北家)
槓した 面子。大明槓は副露として扱うので、ここでの槓は暗槓もしくは加槓。
{ gangzimo: { l: 1, p: "m9" } }
手番。(0
: 東家、1
: 南家、2
: 西家、3
: 北家)
ツモった 牌。
{ kaigang: { baopai: "p7" } }
槓ドラ表示牌。
{ hule: {
l: 1,
shoupai: "m234p35s123789z33p4*",
baojia: null,
fubaopai: [ "s9" ],
fu: 40,
fanshu: 3,
defen: 5200,
hupai: [ { name: "立直", fanshu: 1 },
{ name: "門前清自模和", fanshu: 1 },
{ name: "裏ドラ", fanshu: 1 } ],
fenpei: [ -2000, 4000, -1000, -1000 ]
} }
以下は役満の場合。
{ hule: {
l: 2,
shoupai: "p7p7,z111-,z222=,z333+,z444-",
baojia: 3,
fubaopai: null,
damanguan: 2,
defen: 64000,
hupai: [ { name: "大四喜", fanshu: "**", baojia: 0 } ],
fenpei: [ -32000, 0, 64000, -32000 ]
} }
ダブロンがあった場合はこの要素が連続する。
和了者。(0
: 東家、1
: 南家、2
: 西家、3
: 北家)
和了者の 牌姿。ロン和了の場合は和了牌をツモした牌姿にする。
放銃者。ツモ和了の場合は null。
裏ドラ表示牌の配列。リーチでない場合は null。
符。役満の場合は undefined。
翻数。役満の場合は undefined。
役満複合数。複合には四暗刻をダブル役満にする類のものと、大三元と字一色の複合のような役の複合のケースがある。役満でない場合は undefined。
和了打点。供託収入は含まない。
和了役の配列。それぞれの要素には役名を示す name と翻数を示す fanshu がある。役満の場合 fanshu は数字ではなく、和了役それぞれの役満複合数分の *
となる。また役満のパオがあった場合は baojia に責任者を設定する。
役名は任意の文字列なので、ローカル役の採用も可能。
供託を含めたその局の点数の収支。その局の東家から順に並べる。リーチ宣言による1000点減は収支に含めない。
{ pingju: {
name: "荒牌平局",
shoupai: [ "",
"p2234406z333555",
"",
"p11223346777z77" ],
fenpei: [ -1500, 1500, -1500, 1500 ]
} }
流局理由。
流局時の手牌。その局の東家から順に並べる。ノーテンなどの理由により手牌を開示しなかった場合は空文字列とする。
ノーテン罰符などその局の点数の収支。その局の東家から順に並べる。リーチ宣言による1000点減は収支に含めない。