Skip to content

Match API

ninja03 edited this page Apr 27, 2021 · 1 revision

ゲーム参加

空いてるゲームに参加、指定したゲームIDのゲームに参加、対AI戦に参加などが出来ます。

URL

POST /match

パラメータJSON

以下のパラメータを含んだJSONをbodyに入れて送信して下さい。

Name Type Discription
name
(name又はidのいずれか必須)
string ユーザ名
id
(name又はidのいずれか必須)
string ユーザID
password
任意
string ユーザパスワード
spec
任意
string 紹介文
ゲームには影響しません
gameId
任意
string ゲームID
指定のゲームに参加したい場合にこのパラメータを含めてください
useAi
任意
boolean AIを使うかどうか
aiOption
任意
object AIのオプション
aiNameboardNameを含めたオブジェクトです。
aiOption.aiName
必須
string AI名
使用できるAI名についてはAI名をご覧ください
aiOption.boardName
任意
string ボード名
使用できるボード名についてはボード名をご覧ください

パラメータJSONの例

{
  "id":"6463f6a3-dd36-453d-af8f-71bef04b207c",
  "password":"password",
  "spec":"機械学習",
  "useAi":true,
  "aiOption":{
    "aiName":"a1",
  }
}

レスポンス

レスポンスのBodyに参加プレイヤーのJSON情報が返ってきます。

Name Type Discription
userId string 参加プレイヤーのユーザID
spec string 参加プレイヤーのspec
accessToken string アクセストークン
actionを送信するときに使用します。アクセストークンは試合に参加する人のみ知れる状態にしてください。
gameId string ゲームID
index string インデックス
ゲーム詳細を取得した際の、players内のどのインデックスが自分かを表しています。

レスポンスJSONの例

{
  "userId": "6463f6a3-dd36-453d-af8f-71bef04b207c",
  "spec": "",
  "accessToken": "d7028085-fccf-41a2-b038-723721938ac4",
  "gameId": "833b167a-d40b-49e5-b0e2-9d3de3e8d532",
  "index": 0
}

エラーレスポンス

以下のエラーレスポンスが返ってるくる可能性があります。エラーレスポンスについてはError Responseを見てください。

100 101 102 200 204 205


ゲーム詳細取得

ゲームの詳細を取得することが出来ます。

URL

GET /api/match/(gameId)

URLの例

http://localhost:8880/api/match/833b167a-d40b-49e5-b0e2-9d3de3e8d532

レスポンス

レスポンスのBodyにGameオブジェクトが返ってきます。

エラーレスポンス

以下のエラーレスポンスが返ってるくる可能性があります。エラーレスポンスについてはError Responseを見てください。

100

行動送信

エージェントの行動を送信することができます。

URL

POST /api/match/(gameId)/action

Authorizationヘッダ

HTTPリクエストのヘッダに key : "Authorization" value : アクセストークン を含める必要があります。

パラメータJSON

以下のパラメータを含んだJSONをbodyに入れて送信して下さい。

Name Type Discription
actions
必須
行動情報[] 行動情報の配列
以下の行動情報を配列にして送信してください。

行動情報

Name Type Discription
agentId
必須
number エージェントのIDです。
type
必須
string 行動の種類
PUT,NONE,MOVE,REMOVEが指定できます。
x
必須
number x座標
y
必須
number y座標

パラメータJSONの例

{
  "actions":[
    {"agentId":0,"type":"PUT","x":0,"y":0},
    {"agentId":1,"type":"MOVE","x":5,"y":6},
  ]
}

レスポンス

レスポンスのBodyに以下のJSONが返ってきます。

Name Type Discription
receptionUnixTime number 行動を受信したUNIX時間
turn number 受信したときのゲームのターン

レスポンスJSONの例

{
  "receptionUnixTime": 1616655464, 
  "turn": 0
}

エラーレスポンス

以下のエラーレスポンスが返ってるくる可能性があります。エラーレスポンスについてはError Responseを見てください。

103 104

Clone this wiki locally