自分の作ったプログラムと他人のプログラムを対戦させたいときは、審判のプログラムを作って、互いのプログラムを交互に呼び出してやればいいのか。データの受け渡しは、コマンドライン引数かファイルでできるし。
審判プログラムは、勝負の終了判定と差し手のルール判定を行い、一手ごとにその局面をファイルなどに保存して、先手後手などの情報とともにプレイヤープログラムを呼び出せばいい。あと、必要なら考慮時間の管理も。
OSなどの動作環境が異なる2つのプログラムを対戦させるときは、ネットワークで繋いで対戦させることになると思う。この場合、プレイヤープログラム側でネットワークを意識せずに対戦させる方法はあるかな? もしできるなら、プレイヤープログラム側としては同じインターフェイスでよいので、様々な環境に対応できるのだけど。
同じOSで動く2つのプログラムの場合は、簡単に対戦させられそう。プレイヤーソフト側でも比較的簡単に対応できそうだし。今度オセロか何で試してみようかな。
友達とオセロで試してみることに。うまくいくかな。