OthelloArenaへようこそ!

本サイトの使用方法

1.オセロプレイヤープログラムの準備する

対局には以下のリンクからダウンロードできるPythonプログラムが必要です。
※実行にPythonライブラリのRequestsが必要です。

githubからダウンロード(ZIP形式)
gitをお持ちの方はこちらのリポジトリからどうぞ
githubリポジトリへ

requestsライブラリのインストールはpipコマンドを利用すると簡単に行なえます。

$pip install requests

ダウンロード後、あなたのアカウントとプログラムを紐付けるために、フォルダ内にあるplay.pyを実行してください。
実行後、APIトークンの入力を求められるので、以下のAPIトークンを入力してください。
※APIトークンはアカウントの識別に使用します。他人には教えないでください。

2.オセロプレイヤープログラムを作成する

フォルダ内にあるOthelloAction.pyをカスタマイズすることで、あなた独自のオセロプログラムを作成できます。

引数について
引数:board

現在の盤面が2次元配列として格納されています。

配列のインデックスは盤面の座標と対応しています。
8✕8オセロの場合、盤面の左上のマスが[0][0]、盤面の右下のマスが[7][7]、盤面の右上のマスが[7][0]、盤面の左下のマスが[0][7]となっています。

2次元配列に格納されているそれぞれの変数は"−1,0,1"の3つの値のうち、1つの値が入っています。
これら3つの値はそれぞれ以下の状態を表しています。

  • −1:相手のコマが置かれているマス
  • 0:どちらのコマも置かれていないマス
  • 1:自分のコマが置かれているマス
引数:moves

合法手(ルール違反にならずに指せる手)のマスが配列として格納されています。

movesの配列の中身は、合法手のマスの位置が[x,y]という配列の形で格納されています。

8✕8オセロの初手を引数movesの例としてあげると、movesの中身は以下のようになっています。
[ [2,3], [3,2], [4,5], [5,4] ]

返り値について

実際にプログラムが打つ手のマスを [x,y] のような形で配列を返り値として返却します。

上記の引数:movesの例のような形で合法手がある場合、返り値は [3,2] のように配列の形で返してください。
※合法手ではないマスに手を打ってしまうと反則負けになってしまうので打とうとした手がmovesの中にあるかどうかを検証することをおすすめします。

3.対局を開始する

新しく対局ルームを作成するか、すでにある対局ルームに参加することで対局することができます。

対局ルームに参加後、ダウンロードしたPythonプログラムのPlay.pyを実行することで対局を開始できます。