Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
C#版人狼知能エージェント
の作り方
― Visual Studio 編 ―
(AIWolf.NET 1.0.6版)
大槻恭士@AIWolfSharp
(山形大学 学術研究院)
準備
1. Visual Studio をインストール(ここでは VS Community
2017 を使用)
2. 人狼知能プラットフォームをダウンロードして任意のフォル
ダーに展開しておく
3. ClientStarter-1.0.6.zi...
新規プロジェクトの作成
プロジェクトの
名前は
ClientStarter
コンソールアプリ
(.NET Core)
.NET Core
ソリューション
の名前は
DemoAgent
ClientStarterのソースファイルを追加
まず,Program.csを削除 次に,ダウンロードした
ClientStarter-1.0.6.zip中の
ClientStarter.csを
プロジェクトにコピー
(ドラッグ&ドロップ可)
NuGetパッケージマネージャーの起動
ClientStarter
プロジェクトで
NuGetパッケージの管理
NuGetパッケージマネージャーでaiwolfで検索
AIWolfPlayerを選んで「インストール」
必要なライブラリのインストール
OK 同意する
AIWolfPlayerとともに必要なライブラリも自動的にインストールされる
その他のライブラリのインストール
System.Runtime.Loader
Microsoft.Extensions.DependencyModel
ClientStarterのビルド
ClientStarterプロジェクトを
ビルド
正常に終了するはず
ClientStarterをデモモードで起動
ClientStarterのプロパティの「デバッグ」
タブで「アプリケーション引数」に –d
(デモモードで起動)
人狼知能サーバを起動し,接続待ち
の状態でデバッグ開始
デモモードの
サンプルエー...
エージェント用プロジェクトの作成
DemoAgentソリューションにDemoAgentプロジェクトを追加
名前は
DemoAgent
クラスライブラリ
(.NET Core).NET Core
作成後,NuGetパッケージマネージャーでAIWo...
DemoRoleAssignPlayerの作成
1. Class1.csをDemoRoleAssignPlayer.csに名前変更
2. 下のように入力すれば,各役職にサンプルプレイヤーを割り
当てるエージェントとなる.(ClientStart...
DemoRoleAssignPlayerの実行(1)
「アプリケーション引数」に
-c DemoAgent.DemoRoleAssignPlayer
..DemoAgentbinDebugnetcoreapp1.1DemoAgent.dll
–...
DemoRoleAssignPlayerの実行(2)
• ClientStarterのデモモードを試した時と同様にゲームに参加
DemoAgentが
占い師で参加
している
占い師の実装例(1)
右の内容でSeer.cs
を作る
Initialize()で
フィールドを
初期化することを
忘れないこと
占い師の実装例(2)
まだ占っていない生存エージェントからランダムに占い先を選択
占い師の実装例(3)
確定人狼が
いなければ
占っていない
エージェントから
投票先を選ぶ
宣言済みの
投票先と
異なる場合は
再度宣言する
作った占い師エージェントで参戦
下のようにDemoRoleAssignPlayerを変更
本当に参戦しているか確認
1. ブレークポイントを設定
2. デバッグを開始
3. Seerがゲームに参加して
いれば
ブレークポイントで止ま
るはず
人狼知能大会に提出するときは
• Release 構成でビルド
• DemoAgentプロジェクトフォルダの
binReleasenetcoreapp1.1DemoAgent.dll
を提出する
Upcoming SlideShare
Loading in …5
×

C#版人狼知能エージェントの作り方~Visual Studio編~(AIWolf.NET 1.0.6版)

1,522 views

Published on

How to make an artificial intelligence based werewolf agent in C# using Visual Studio.

Published in: Software
  • Be the first to comment

  • Be the first to like this

C#版人狼知能エージェントの作り方~Visual Studio編~(AIWolf.NET 1.0.6版)

  1. 1. C#版人狼知能エージェント の作り方 ― Visual Studio 編 ― (AIWolf.NET 1.0.6版) 大槻恭士@AIWolfSharp (山形大学 学術研究院)
  2. 2. 準備 1. Visual Studio をインストール(ここでは VS Community 2017 を使用) 2. 人狼知能プラットフォームをダウンロードして任意のフォル ダーに展開しておく 3. ClientStarter-1.0.6.zip をダウンロードしておく
  3. 3. 新規プロジェクトの作成 プロジェクトの 名前は ClientStarter コンソールアプリ (.NET Core) .NET Core ソリューション の名前は DemoAgent
  4. 4. ClientStarterのソースファイルを追加 まず,Program.csを削除 次に,ダウンロードした ClientStarter-1.0.6.zip中の ClientStarter.csを プロジェクトにコピー (ドラッグ&ドロップ可)
  5. 5. NuGetパッケージマネージャーの起動 ClientStarter プロジェクトで NuGetパッケージの管理 NuGetパッケージマネージャーでaiwolfで検索 AIWolfPlayerを選んで「インストール」
  6. 6. 必要なライブラリのインストール OK 同意する AIWolfPlayerとともに必要なライブラリも自動的にインストールされる
  7. 7. その他のライブラリのインストール System.Runtime.Loader Microsoft.Extensions.DependencyModel
  8. 8. ClientStarterのビルド ClientStarterプロジェクトを ビルド 正常に終了するはず
  9. 9. ClientStarterをデモモードで起動 ClientStarterのプロパティの「デバッグ」 タブで「アプリケーション引数」に –d (デモモードで起動) 人狼知能サーバを起動し,接続待ち の状態でデバッグ開始 デモモードの サンプルエージェントが ゲームに参加している
  10. 10. エージェント用プロジェクトの作成 DemoAgentソリューションにDemoAgentプロジェクトを追加 名前は DemoAgent クラスライブラリ (.NET Core).NET Core 作成後,NuGetパッケージマネージャーでAIWolfPlayerをインストール
  11. 11. DemoRoleAssignPlayerの作成 1. Class1.csをDemoRoleAssignPlayer.csに名前変更 2. 下のように入力すれば,各役職にサンプルプレイヤーを割り 当てるエージェントとなる.(ClientStarterのデモモードと 同じ) 3. あとはSetPlayer()メソッドの中で各役職に自作のエージェ ントを割り当てていけばオリジナルのエージェントが完成
  12. 12. DemoRoleAssignPlayerの実行(1) 「アプリケーション引数」に -c DemoAgent.DemoRoleAssignPlayer ..DemoAgentbinDebugnetcoreapp1.1DemoAgent.dll –r SEER ClientStarterのプロパティの「デバッグ」タブ
  13. 13. DemoRoleAssignPlayerの実行(2) • ClientStarterのデモモードを試した時と同様にゲームに参加 DemoAgentが 占い師で参加 している
  14. 14. 占い師の実装例(1) 右の内容でSeer.cs を作る Initialize()で フィールドを 初期化することを 忘れないこと
  15. 15. 占い師の実装例(2) まだ占っていない生存エージェントからランダムに占い先を選択
  16. 16. 占い師の実装例(3) 確定人狼が いなければ 占っていない エージェントから 投票先を選ぶ 宣言済みの 投票先と 異なる場合は 再度宣言する
  17. 17. 作った占い師エージェントで参戦 下のようにDemoRoleAssignPlayerを変更
  18. 18. 本当に参戦しているか確認 1. ブレークポイントを設定 2. デバッグを開始 3. Seerがゲームに参加して いれば ブレークポイントで止ま るはず
  19. 19. 人狼知能大会に提出するときは • Release 構成でビルド • DemoAgentプロジェクトフォルダの binReleasenetcoreapp1.1DemoAgent.dll を提出する

×