FujiGokoro UECda 試合棋譜 v1.0 - YuriCat/FujiGokoroUECda GitHub Wiki
ファイル名 テキストファイルだが拡張子 .dat としている
player プレーヤー名 プレーヤー番号順 サーバーのみ知ることができる
/* ~ */ 1試合
game 試合番号 0 ~ 試合数 - 1 プレーヤー番号を固定した連続対戦であることを保証
score 累計得点を書きたかったが、現時点では空欄
class 階級 0(大富豪) ~ 4(大貧民) プレーヤー番号順
seat 座席 0 ~ 4 プレーヤー番号順 (各座席のプレーヤー番号ではなく、各プレーヤーの座席番号なので注意)
dealt 初期配布手札 プレーヤー番号順 試合では大富豪, 富豪は献上札を追加した状態で受け取るので正確に知ることができない情報
changed カード交換で渡した手札 プレーヤー番号順
original 交換終了後の手札 プレーヤー番号順
play 役提出履歴 プレーヤー番号等の付加情報はなく、公式ルール通りに試合が進行することを仮定する
result 試合順位 プレーヤー番号順 ルール上、千日手でランダムに順位決定されることもありうる
スート cクラブ dダイヤ hハート sスペード
ランク 弱い順に 3456789tjqka2 ジョーカー jo
スート カードと同じ
ランク -3456789tjqka2+
UECdaでは jo-3-4 や a-2-jo の階段が許されるのでランクを上下1つずつ拡張している
シングルジョーカー jk
グループ役 スート集合-ランク
例: ch-4 → (クラブ, ハート)の4
階段役 スート-ランク列
例: s-jqk → スペードの[11, 12, 13]
ジョーカーを含むグループ役 スート集合-ランク(ジョーカーのスート)
例: ch-4(h) → (クラブ, ハート)の4、ただしハートの4の代わりとしてジョーカー
※UECdaではジョーカーは特定のスートを表すルール。スートしばりも指定したスートで適用される
ジョーカーを含む階段役 スート-ランク列(ジョーカーのランク)
例: s-jqk(q) → スペードの[11, 12, 13]、ただしスペードの12の代わりにジョーカー
同一ランク4枚+ジョーカーによる5枚出し cdhsx-ランク のつもりだったが、
大部分の棋譜では cdhsx-5(cdhs) みたいになっている バグなので()内は無視してほしい
[]内 考慮時間 サーバーが microsec単位で記録
A1. 大会公式サーバーにおいて役提出は1人ずつ同期通信で試合が進みますが、カード交換は大富豪と富豪に並列で思考命令が出され、両方の思考が終了したら先に進むので、カード交換の考慮時間を計測するにはサーバーのコードを書き換える必要があったためです。 また同様の理由により試合中のクライアントは大富豪、富豪の正確な考慮時間を知ることができないので、クライアントの作成に生かし辛い情報だという点もあります。
A2. 大会公式にてプロトコルのサポートがありませんが、通信する配列の空いた場所を使って伝えることは可能ですので検討しています。ただし注意点として、クライアントによって順位の価値の見積もりが違うので順位の分布の予測値を記録する必要があります。クライアントが順位の分布を経由せずに評価している場合は非対応ということになりますね。