トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

DigitalCurlingProtocol

Digital Curling Protocol (DCP) v.0.1 beta

カーリングAIとサーバ間の通信プロトコルをDigital Curling Protocol (DCP) として定義しています。
 現在のバージョンは v.0.1 beta です。

 カーリングAIからサーバ

ISREADY - 準備完了を通知するコマンド
PUTSTONE - ストーン配置を選択するコマンド(ミックスダブルスのみ)
PUTSTONE type type - ストーン配置 0: センター, 自分のストーンが手前 1: パワープレイ, 自分のストーンが手前 2: センター, 自分のストーンがハウス内 3: パワープレイ, 自分のストーンがハウス内
BESTSHOT ‐ ショットを送るコマンド
BESTSHOT x y turn
  x ‐ ショットの強さ(横方向)
  y ‐ ショットの強さ(縦方向)
  turn ‐ 回転方向(0:右回転、1:左回転)
CONCEED - コンシード(投了)を行うコマンド

 サーバからカーリングAI

ISREADY - カーリングAIの準備を待つコマンド
ISREADY※カーリングAIはこのコマンドを受信したらREADYOKコマンドを返してください
NEWGAME - 試合開始を通知するコマンド
NEWGAME first second
  first - 先手プレイヤ(AI)の名前
  second - 後手プレイヤ(AI)の名前
GAMEINFO - 試合情報を通知するコマンド
GAMEINFO rule_type random_type rule_type - ルールの種類(0:通常, 1:ミックスダブルス) random_type - 乱数生成器の種類(0:直交座標系, 1:極座標系)
RANDOMSIZE - 乱数の大きさを通知するコマンド
RANDOMSIZE size_1 size_2 size_1 - x軸方向(直交座標系),大きさ v にかかる乱数の大きさ size_2 - y軸方向(直交座標系),角度 theta にかかる乱数の大きさ
PUTSTONE - ストーン配置の選択を要求するコマンド(ミックスダブルスのみ)
ミックスダブルスルールにおいてのみ使用されます
POSITION ‐ ストーンの位置情報を通知するコマンド
POSITION x1 y1 x2 y2 ・・・ x16 y16
  xn ‐ n投目のストーンのx座標
  yn ‐ n投目のストーンのy座標
SETSTATE ‐ 局面の情報を通知するコマンド
SETSTATE shot cend fend move
  shot ‐ 現在のショット数
  cend ‐ 現在のエンド数
  fend ‐ 最終エンド
  move ‐ 手番(0:第一エンドで先手だったチーム、1:第一エンドで後手だったチーム)
GO ‐ 思考開始を合図するコマンド
GO t1 t2
  t1 ‐ 先手の残り持ち時間(ミリ秒)
  t2 ‐ 後手の残り持ち時間(ミリ秒)
※カーリングAIはこのコマンドを受信したらBESTSHOTコマンドを返してください
SCORE - 直前のエンドの得点を通知するコマンド
SCORE score
  score - 直前のエンドの得点(+ならば1エンド目で先手だったプレイヤの得点、-ならば後手の得点)
GAMEOVER ‐ 試合の結果を送るコマンド
GAMEOVER WIN/LOSE