poje project

AI開発

開発環境:

本プログラムコードは, Microsoft Visual C# 2010 Express で開発しました.

思考アルゴリズムの開発には,これと同等以上の環境が必要です.

Microsoft Visual C# 2010 Express

こちらから無料ダウンロード可能です.

実装の流れ:

zipファイルを展開し,PojeClientフォルダの PojeClient.csproj をダブルクリックして開発を始めます.

AI_template.cs などを別名のクラスにコピーし,public getName() メソッドと,public void makeAction(object currentState) メソッドを実装してください.

また,Form_main.cs の冒頭にプレイヤーリストを登録するコードがありますので,ここにご自分が作ったクラスを登録してください.

まずは,すでにあるサンプルを少しいじって挙動を調べるようなことから入ることをお勧めします.

知るべきクラスと,知らなくていいクラス:

本プロジェクトには多くのクラスが含まれますが,思考アルゴリズムを作成するためだけなら,全てのクラスに目を通す必要はありません.

具体的には,必要なクラスは次のようになっています.

クラス名意味
State現在の状態を表すクラス.主に,Boardを2つ持つ
Board自分と相手それぞれの状態を表す.
主に,盤状態,JamInfo, 配珠色を持つ
JamInfoそれぞれの邪魔珠の状態を表す.
何個が,いつ落ちるか
Action現在の2個の珠をどう落とすかの行動を表す.
主に,軸珠のX座標と回転からなる
Logger情報をテキストボックスに表示する
Settings何個消しか,フィールドサイズなどの設定情報を持つ
AI_*AIのサンプル,テンプレート

必要ないクラスは簡単に説明すると

クラス名意味
BoardPainter盤の描画に関するクラス
DrawTools描画関係のツール
Form_ChangeSettings設定変更用のフォーム
Form_mainメインフォーム
GameManagerゲームの進行を司るクラス(長くて煩雑)
NextGenerator配珠の色を決定するクラス
Player意思決定のインタフェース
Player_PTP通信対戦クライアント
Player_Userユーザが操作する場合のクラス
ProgramC# のデフォルトエントリポイント
SGFManager棋譜の格納と読み込みに関するクラス
Signalプログラム全体にフォームが閉じたことなどを
知らせるクラス
VSServer通信対戦サーバ

で,ゲームのそのものの改良などを目指す場合には必要になりますが,思考アルゴリズムを作る際には知る必要はありません.