Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
C# 版人狼知能エージェントの作り方
ー MonoDevelop / Xamarin Studio 編 ー
山形大学 学術研究院 大槻恭士
準備
●
Mono, MonoDevelop または Xamarin
Studio をインストール
(ここでの実例は Monodevelop 5.9 のもので
すが, Xamarin Studio もほぼ同じです)
●
人狼知能プラットフォーム...
新規プロジェクトの作成( 1 )
●
ファイル>新規>ソリューション
●
.NET のライブラリを選択
新規プロジェクトの作成( 2 )
●
プロジェクト名を入力(ここでは ExerciseAgent )
新規プロジェクトの作成( 3 )
●
自動的にソースファイル MyClass.cs にクラス
MyClass が作成される
参照の追加
●
プロジェクト>参照アセンブリの編集
●
AIWolfLibCommon.dll
AIWolfLibClient.dll
を追加
自作 RoleAssignPlayer の作成( 1 )
●
エディタのコンテキストメニューで
リファクタリング>名前の変更
Myclass を ExerciseRoleAssignPlayer に変更
自作 RoleAssignPlayer の作成( 2 )
●
基底クラスに AbstractRoleAssignPlayer を指定
→ 赤色でエラーが示される
→ コンテキストメニュー>解決
自作 RoleAssignPlayer の作成( 3 )
●
抽象メソッドの実装
コンテキストメニュー>リファクタリング
挿入場所を選んで Enter
自作 RoleAssignPlayer の作成( 4 )
●
プレイヤー名を返すように Name プロパティを修正
●
役職に応じたサンプルプレイヤーを使う人狼知能
エージェントの出来上がり
自作プレイヤーでゲーム実行( 1 )
●
プロジェクト> ExerciseAgent のオプション
実行>カスタムコマンド>実行コマンド
(ClientStarter.exe の fullpath) ­h localhost ­p 10000 ...
自作プレイヤーでゲーム実行( 2 )
●
クリックしてデバッグ開始
接続完了
Start Game
占い師の実装例( 1 )
●
コンテキストメニュー>追加>新しいファイル
●
空のクラスを選択し
名前を
ExerciseSeerPlayer
占い師の実装例( 2 )
●
右図は基底クラスを
AbstractSeer にして
リファクタリングで抽象
メソッドを仮実装した
状態
●
これらのメソッドの意
味・呼ばれるタイミング
などは Java 版の
チュートリアルを参照
占い師の実装例( 3 )
Divine() の実装方針
●
まだ占っていない自分以外の生存プレイヤーからラ
ンダムに選択
占い師の実装例( 4 )
Vote() の実装方針
●
人狼を見つけていたらその中からランダム
●
人狼をまだ見つけていなければ,白(含自分)判
定以外のプレイヤーからランダム
占い師の実装例( 5 )
Talk() の実装方針
●
占いで人狼を見つけたら CO
●
CO 後は占い結果を報告
占い師の実装例( 6 )
●
今回は Finish() には何も実装しない
●
最後に ExerciseRoleAssignPlayer のコンクトラク
タで ExerciseSeerPlayer を占い師の時に使うよう
に設定
人狼知能大会に提出する場合
●
Release 構成でビルド
●
プロジェクトフォルダー
の下の
bin/Release/
フォルダーの中の
ExerciseAgent.dll
を提出
コマンドラインからの実行例
●
dll ファイルを AIWolf.NET を展開したフォルダーに
置くと楽
Próxima SlideShare
Cargando en…5
×

C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)

826 visualizaciones

Publicado el

How to make an artificial intelligence based werewolf agent in C# using MonoDevelop or Xamarin Studio.

Publicado en: Software
  • Sé el primero en comentar

C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)

  1. 1. C# 版人狼知能エージェントの作り方 ー MonoDevelop / Xamarin Studio 編 ー 山形大学 学術研究院 大槻恭士
  2. 2. 準備 ● Mono, MonoDevelop または Xamarin Studio をインストール (ここでの実例は Monodevelop 5.9 のもので すが, Xamarin Studio もほぼ同じです) ● 人狼知能プラットフォームをダウンロードして任 意のフォルダーに展開 ● AIWolf.NET をダウンロードして任意のフォル ダーに展開 ● Json.NET を入手して, Newtonsoft.Json.dll を AIWolf.NET と同じフォルダーに置く
  3. 3. 新規プロジェクトの作成( 1 ) ● ファイル>新規>ソリューション ● .NET のライブラリを選択
  4. 4. 新規プロジェクトの作成( 2 ) ● プロジェクト名を入力(ここでは ExerciseAgent )
  5. 5. 新規プロジェクトの作成( 3 ) ● 自動的にソースファイル MyClass.cs にクラス MyClass が作成される
  6. 6. 参照の追加 ● プロジェクト>参照アセンブリの編集 ● AIWolfLibCommon.dll AIWolfLibClient.dll を追加
  7. 7. 自作 RoleAssignPlayer の作成( 1 ) ● エディタのコンテキストメニューで リファクタリング>名前の変更 Myclass を ExerciseRoleAssignPlayer に変更
  8. 8. 自作 RoleAssignPlayer の作成( 2 ) ● 基底クラスに AbstractRoleAssignPlayer を指定 → 赤色でエラーが示される → コンテキストメニュー>解決
  9. 9. 自作 RoleAssignPlayer の作成( 3 ) ● 抽象メソッドの実装 コンテキストメニュー>リファクタリング 挿入場所を選んで Enter
  10. 10. 自作 RoleAssignPlayer の作成( 4 ) ● プレイヤー名を返すように Name プロパティを修正 ● 役職に応じたサンプルプレイヤーを使う人狼知能 エージェントの出来上がり
  11. 11. 自作プレイヤーでゲーム実行( 1 ) ● プロジェクト> ExerciseAgent のオプション 実行>カスタムコマンド>実行コマンド (ClientStarter.exe の fullpath) ­h localhost ­p 10000 ­c  ExerciseAgent.ExerciseRoleAssignPlayer ExerciseAgent.dll SEER 作業ディレクトリを ${TargetDir}
  12. 12. 自作プレイヤーでゲーム実行( 2 ) ● クリックしてデバッグ開始 接続完了 Start Game
  13. 13. 占い師の実装例( 1 ) ● コンテキストメニュー>追加>新しいファイル ● 空のクラスを選択し 名前を ExerciseSeerPlayer
  14. 14. 占い師の実装例( 2 ) ● 右図は基底クラスを AbstractSeer にして リファクタリングで抽象 メソッドを仮実装した 状態 ● これらのメソッドの意 味・呼ばれるタイミング などは Java 版の チュートリアルを参照
  15. 15. 占い師の実装例( 3 ) Divine() の実装方針 ● まだ占っていない自分以外の生存プレイヤーからラ ンダムに選択
  16. 16. 占い師の実装例( 4 ) Vote() の実装方針 ● 人狼を見つけていたらその中からランダム ● 人狼をまだ見つけていなければ,白(含自分)判 定以外のプレイヤーからランダム
  17. 17. 占い師の実装例( 5 ) Talk() の実装方針 ● 占いで人狼を見つけたら CO ● CO 後は占い結果を報告
  18. 18. 占い師の実装例( 6 ) ● 今回は Finish() には何も実装しない ● 最後に ExerciseRoleAssignPlayer のコンクトラク タで ExerciseSeerPlayer を占い師の時に使うよう に設定
  19. 19. 人狼知能大会に提出する場合 ● Release 構成でビルド ● プロジェクトフォルダー の下の bin/Release/ フォルダーの中の ExerciseAgent.dll を提出
  20. 20. コマンドラインからの実行例 ● dll ファイルを AIWolf.NET を展開したフォルダーに 置くと楽

×