net coreとvs codeで作る人狼知能

Post on 14-Feb-2017

172 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

.NET Coreと Visual Studio Codeで作る人狼知能

( AIWolf.NET Core 1.0.2版)

山形大学 学術研究院 大槻恭士

改訂内容• AIWolf.NET Core 1.0.2を使用• .NET Core SDKのバージョンを 1.0.3 LTSに変更• .NET Core 1.0.3では Fedora 24がサポートされていないので,実行例をWindows 10に変更

はじめに• .NET Core

• クロスプラットフォーム• 移植可能 (.NET Framework, Mono, Xamarin, UWP, etc.)• 高パフォーマンス• コンソールアプリケーションのみ→人狼知能エージェント向き

• Visual Studio Code• マルチプラットフォーム• 軽量で高速• 拡張性• デバッグ機能

➡プラットフォームに依存しない人狼知能エージェント開発

準備• .NET Core

SDK 1.0.3 (LTS)• Visual Studio

Code• C# for Visual

Studio Code

ClientStarterのビルド &実行1. ClientStarter-

1.0.2.zipをダウンロードして,その中のClientStarterフォルダを任意の場所に置く

2. そのフォルダでdotnet restore ⏎

3. dotnet build ⏎

4. dotnet run ⏎で起動を確認

エージェント用プロジェクト作成1. ClientStarterフォルダの隣にエージェント用フォルダ(ここでは

DemoAgent)を作成2. そのフォルダに移動し

dotnet new –t lib ⏎でライブラリプロジェクト作成

エージェントプロジェクトを開く1. VS Codeでエージェントプロジェクト用フォルダを開く2. 必要なライブラリをリストアするかどうかのダイアログが出る3. 「閉じる」をクリックしてリストアを中止

必要なライブラリを指定1. project.jsonを右のように修正2. 保存するとリストアするか聞かれるので,今度は

Restoreをクリック

RoleAssignPlayerの作成1. Library.csの名前を変更 (ここでは

DemoRoleAssignPlayer.cs) 2. 下のように入力すれば,各役職にサンプルプレイヤーを割り当てるエージェントとなる3. あとは SetPlayer()メソッドの中で各役職に自作のエージェントを割り当てていくことになる 

RoleAssignPlayerの実行(1)とりあえず先の RoleAssignPlayerをゲームに参加させてみる1. デバッグモードにする2. 歯車をクリック3. 環境の選択で .NET Core4. launch.jsonが開く

RoleAssignPlayerの実行(2)5. launch.jsonの“ .NET Core Launch (console)”の“ program”と“ args”を以下のように設定

RoleAssignPlayerの実行(3)6. デバッグ開始をクリックすると

「タスクランナーが構成されていません」がポップアップ7. 「タスクランナーの構成」をクリック8. .NET Coreを選択9. tasks.jsonが開くが,変更せず閉じる

RoleAssignPlayerの実行(4)10.人狼知能プラットフォームのゲームサーバを起動しておき,改めてデバッグを開始する

占い師エージェントを作る( 1)

Initialize()でフィールドを初期化することを忘れないこと

右の内容で Seer.csを作る

占い師エージェントを作る( 2)

まだ占っていない生存エージェントからランダムに占い先を選択

占い師エージェントを作る( 3)確定人狼がいなければ占っていないエージェントから投票先を選ぶ宣言済みの投票先と異なる場合は再度宣言する

作った占い師エージェントで参戦•下のように DemoRoleAssignPlayerを変更

本当に参戦しているか確認1. ブレークポイントを設定2. デバッグを開始3. 作成したエージェントがゲームに参加しているかを確認

top related