!!!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}}