思考ルーチンの作成方法
このページでは,思考ルーチンの作成・登録法について説明します.
クラスの作成
C#.NET のメニューから[プロジェクト] -> [クラスの追加] を選びます.
(この前にソリューションエクスプローラーの AI フォルダを選択しておくとその中に作成されます)
AI_AlphaBeta とか AI_MCTS など適当な名前を付けて作成しましょう
続いて,AI_template クラスの中身をコピーペーストしてください.
コピペしない場合は,以下を守ってください.
- class の行で,Player インタフェースの実装であることを明示する
- public string getName() を実装する
- public string showParameters() を実装する
- public Action makeAction(Map map, int teamColor) を実装する
作成したAIの利用方法
作った思考ルーチン(Playerインタフェースの実装)を実際に利用するには,
PlayerList クラスを変更する必要があります.
PlayerList クラスは,sRegisteredPlayerListとして,Playerのオブジェクトを保持します.
このリストの中の3番目以降に,実際に利用したいクラスを追加してください.
また,アプリケーション起動時のデフォルトのプレイヤを指定することもできます.
sDefaultPlayerIndex の値を変更すれば,例えば人間vs人間をデフォルトにするとか,
自分のAIvsサンプルAIをデフォルトにするなどが可能です.
思考ルーチンを記述する方法
思考ルーチンは,現在の盤(map)の情報をもらって,1ユニット分の行動を返すように記述します.
ターン制のゲームですが,全てのユニットの行動を一斉に返すわけではないことに注意してください.
盤の地形,ユニットの情報,性能,行動済みかどうかなどは全て map から得られます.
詳しい情報の入手法や,行動の返し方については,AI_template を参考にしてください.
AI_Sample_MaxActEval は,単純な思考ルーチンですが,関数の利用法などは参考になると思います.
まずはこれをマイナーチェンジしてみるなどして,徐々に新しいものを作っていくと良いと思います.
知っておくべきクラスなどはこちらをご覧ください.
JAIST ターン制戦略ゲーム 学術用基盤プロジェクト