AI開発手順の説明

開発環境の構築

AI開発には「VisualStudio2012」を使用します。このソフトはWindows専用です。その他のOS(Mac、Linuxなど)をご利用の方は、Windows環境をご用意ください。

「Visual Studio 2012」が動作する環境をお持ちてない方向けに「Visual Studio 2010」用のクライアントソフトウェアも用意しております。

動作確認済み環境

    こちらで動作を確認している環境は以下のものです。
  • Windows7 Home Premium
  • Windows7 Ultimate
  • Windows8 Home Premium

これ以外の環境での動作は保証いたしかねます。

ダウンロードについて

まず下記ページへ飛んでください。(新しいウインドウで開きます。)

Microsoft Visual Studio Express

下図のようなページが表示されます。表示されたら、下へスクロールします。

マイクロソフトのサイト

下にスクロールすると下図のような部分がありますので、「Visual Studio Express 2012 for Windows Desktop」 の「ダウンロードページへ 」をクリックしてください。

マイクロソフトのサイト

下図のようなページが表示されますので、「今すぐインストール」をクリックしてください。

マイクロソフトのサイト

するとどこに保存するか聞かれるはずですので、適当な場所に保存してください。以上でダウンロードは完了です。

インストールについて

保存した wdexpress_full.exeを起動してください。
次のような画面がでます。

インストール画面

ライセンスの同意に問題が無ければ「同意する」にチェックしてください。チェックすると下にインストールと表示されるので、クリックしてください。インストールが開始されます。

インストール画面

インストールには少々時間がかかります。

インストールが終わると次の画面が表示されます。

インストール画面

PCを再起動させます。

インストール画面

さらに何分か待ちます。
インストールが終わると下図のような画面になります。

インストール画面

上図ウィンドウが表示され、無事にVisual Studio Express 2012 for Windows Desktop」が立ち上がれば、インストール完了です。

ライセンスキーの取得について

今回インストールした「VisualStudio」はそのままだと30日間しか使用できません。 そこで、30日間を超えて使用したい場合はライセンスキーを取得してやる必要があります。これはすぐに行う必要はありませんので、ライセンスキーが必要になったときや、気が向いたときに行えばOKです。

では、手順を紹介していきます。

まず、VisualStudio を起動します。
Windowsの「スタート」ボタンから「Microsoft Visual 2012 Express」を起動します。

ライセンスキー取得手順

「ヘルプ」から「製品の登録」をクリックします。

ライセンスキー取得手順

下図のようなウィンドウが表示されるので、「オンライン登録」をクリックしてください。 (起動時にも表示されます。)

ライセンスキー取得手順

クリックすると、ブラウザが起動して下図のようなページが表示されます。
ここでMicrosoftのサイトにサインインします。
ただし、Windows Live IDを持っていない場合は登録手続き(サインアップ)を行う必要があるので「新規登録」をクリックしてください。持っている場合はそのままサインインしてください。

ライセンスキー取得手順

サインインができたら次の画面が表示されます。
画面の指示に従って個人情報の登録とアンケートの回答を行ってください。登録内容を確認したら次へをクリックします。さらなるアンケートがあるので回答して次へをクリックします。

ライセンスキー取得手順

登録キー(25 桁の英数字)が表示されますので、マウスで範囲選択してコピーしてください。
もし登録キーを紛失してしまった場合は、サインインしなをせば再取得することができま す。

ライセンスキー取得手順

Visual Studio のウィンドウに戻り、登録キーの入力欄に、先ほどコピーした 登録キーを入力(貼り付け)て「今すぐ登録」をクリックします。

ライセンスキー取得手順

以上で、登録キーの取得は完了です。

AIの作り方

AI.cppの編集

Downloadから、最新版一括DLかクライアントのみを選びダウンロードします。ダウンロードされたzipファイルの中に、「PROCON2013_Client」というzipファイルもしくはフォルダがあります。zipファイルの場合、「すべてを展開」してフォルダ化してください。

「PROCON2013_Client」フォルダ内の「PROCON2012_Client.sln」というファイルを実行してください。Visual Studioが起動します。

AI作成手順

「ソリューションエクスプローラ」内から、「PROCON2013_Client」→「ソースファイル」→「AI.cpp」とダブルクリックしてください。

AI作成手順

AI.cppの内容が表示され、AIの編集ができます。

AI作成手順

さあ、AIを作り始めましょう!

exeファイルのリリース方法

AIを組み、動作確認及び送付準備をするための手順です。

まず、「Debug」を、「Release」に変更します。

AI作成手順

メニューにある「プロジェクト」から、「~のプロパティ」を選択します。

AI作成手順

「構成プロパティ」→「C/C++」→「コード生成」を選択し、「ランタイムライブラリ」の項目を「マルチスレッド(/MT)」に変更し、OKを押してください。

AI作成手順

「OK」を押してウインドウを閉じます。

AI編集ウインドウでF5キーを押すとビルド(プログラム化)します。ビルドが成功すれば、Releaseフォルダにexeファイル("ファイル名".exe)が生成されます。

ゲームの使い方(起動方法)

まず、PROCON2013.exeを起動してください。以下のような画面があらわれます。

AI作成手順

次に、戦わせたいAIを2つ起動してください。

AIの動作をチェックするなどして、ご活用ください。

アルゴリズム例(サンプルソース)

例1:ランダムにコマを行動させる

Data.SetMoveType(rand()%5)

ちょっとした説明:
ランダムな値を得る"rand()"で得られた値を5で割った余りの値(0~4)を取得し、その値を"Data.SetMoveType()"に入れることで、コマの行動を決める。
といった感じになっています。

例2:条件によってコマの動きを変える

自機を相手陣地側(上)に移動する際にそこに障害物があれば、右へ移動し、右にも障害物があれば、左へ移動するAIサンプルです。

//自機の上に障害物となる、レベルの高いマスがあるかどうかを調べる
if( Data.MapHeight( Player.GetX() , Player.GetY() - 1) == BAN )
{
//自機の上に障害物となる高さのマスがあった場合

//自機の右に障害物となる高さのマスがあるかどうか調べる
if( Data.MapHeight( Player.GetX() + 1 , Player.GetY() ) == BAN )
{
//自機の右に障害物となる高さのマスがあった場合
Data.SetMoveType( MOVE_LEFT ); //左に行く
}
else
{
//自機の右に障害物となる高さのマスがなかった場合
Data.SetMoveType( MOVE_RIGHT ); //右に行く
}
}
else
{
//自機の上に障害物となる高さのマスがなかった場合
Data.SetMoveType( MOVE_UP ); //上に行く
}

ちょっとした説明:
1つ目の"if"文で自機よりも上にあるマスの高さ情報を"Data.MapHeight()"で得る。データを得るマスの番号は"Player.GetX()", "Player.GetY() - 1" →自機よりも1つ上のマス。
このマスが"BAN" =「進入禁止」であれば、1つ目の"if"文{}内のコードを実行する。そうでなければ、下にある"else"内の命令を実行する。1つ目のif文内を見ていく。
"Data.MapHeight()"でマスの高さを得る。情報を得るマスの場所は、"Player.GetX() + 1", "Player.GetY()"
自機の1つ左のマス。
これが、"BAN" =「進入禁止」であれば、その下の{}内のコードを実行する。
"BAN" =「進入禁止」でなければ、その下の"else"の{}内のコードを実行する。
というものになっています。

サンプルAIのダウンロード

作成したAIを対戦させてみてください。
例1にあるランダムに動くAIです。ダウンロードボタン