- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!Digital Curling Protocol (DCP) v.0.1 beta
カーリングAIとサーバ間の通信プロトコルをDigital Curling Protocol (DCP) として定義しています。{{br}}
現在のバージョンは v.0.1 beta です。{{br}}
!!カーリングAIからサーバ
::ISREADY - 準備完了を通知するコマンド
::PUTSTONE - ストーン配置を選択するコマンド(ミックスダブルスのみ)
:::PUTSTONE type
::: type - ストーン配置
::: 0: センター, 自分のストーンが手前
::: 1: パワープレイ, 自分のストーンが手前
::: 2: センター, 自分のストーンがハウス内
::: 3: パワープレイ, 自分のストーンがハウス内
::BESTSHOT ‐ ショットを送るコマンド
:::BESTSHOT x y turn{{br}}
::: x ‐ ショットの強さ(横方向){{br}}
::: y ‐ ショットの強さ(縦方向){{br}}
::: turn ‐ 回転方向(0:右回転、1:左回転)
::CONCEED - コンシード(投了)を行うコマンド
!!サーバからカーリングAI
::ISREADY - カーリングAIの準備を待つコマンド
:::ISREADY
:::※カーリングAIはこのコマンドを受信したらREADYOKコマンドを返してください{{br}}
::NEWGAME - 試合開始を通知するコマンド
:::NEWGAME first second{{br}}
::: first - 先手プレイヤ(AI)の名前{{br}}
::: second - 後手プレイヤ(AI)の名前{{br}}
::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{{br}}
::: xn ‐ n投目のストーンのx座標{{br}}
::: yn ‐ n投目のストーンのy座標{{br}}
::SETSTATE ‐ 局面の情報を通知するコマンド
:::SETSTATE shot cend fend move{{br}}
::: shot ‐ 現在のショット数{{br}}
::: cend ‐ 現在のエンド数{{br}}
::: fend ‐ 最終エンド{{br}}
::: move ‐ 手番(0:第一エンドで先手だったチーム、1:第一エンドで後手だったチーム){{br}}
::GO ‐ 思考開始を合図するコマンド
:::GO t1 t2{{br}}
::: t1 ‐ 先手の残り持ち時間(ミリ秒){{br}}
::: t2 ‐ 後手の残り持ち時間(ミリ秒){{br}}
:::※カーリングAIはこのコマンドを受信したらBESTSHOTコマンドを返してください{{br}}
::SCORE - 直前のエンドの得点を通知するコマンド
:::SCORE score{{br}}
::: score - 直前のエンドの得点(+ならば'''1エンド目で'''先手だったプレイヤの得点、-ならば後手の得点){{br}}
::GAMEOVER ‐ 試合の結果を送るコマンド{{br}}
:::GAMEOVER WIN/LOSE{{br}}
{{br}}{{br}}