SlideShare a Scribd company logo
1 of 20
Download to read offline
C# 版人狼知能エージェントの作り方
ー MonoDevelop / Xamarin Studio 編 ー
山形大学 学術研究院 大槻恭士
準備
●
Mono, MonoDevelop または Xamarin
Studio をインストール
(ここでの実例は Monodevelop 5.9 のもので
すが, Xamarin Studio もほぼ同じです)
●
人狼知能プラットフォームをダウンロードして任
意のフォルダーに展開
●
AIWolf.NET をダウンロードして任意のフォル
ダーに展開
●
Json.NET を入手して, Newtonsoft.Json.dll
を AIWolf.NET と同じフォルダーに置く
新規プロジェクトの作成( 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 ­c 
ExerciseAgent.ExerciseRoleAssignPlayer ExerciseAgent.dll SEER
作業ディレクトリを ${TargetDir}
自作プレイヤーでゲーム実行( 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 を展開したフォルダーに
置くと楽

More Related Content

What's hot

室内空調シミュレーション手順書
室内空調シミュレーション手順書室内空調シミュレーション手順書
室内空調シミュレーション手順書murai1972
 
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来decode2016
 
活動報告9 laravel5入門-
活動報告9  laravel5入門-活動報告9  laravel5入門-
活動報告9 laravel5入門-vx-pc-club
 
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指してAkira Inoue
 
FreeCAD OpenFOAM Workbenchセットアップ方法と課題
FreeCAD OpenFOAM Workbenchセットアップ方法と課題FreeCAD OpenFOAM Workbenchセットアップ方法と課題
FreeCAD OpenFOAM Workbenchセットアップ方法と課題murai1972
 
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリde:code 2017
 
Myfirst cloudfoundry intro_20161201
Myfirst cloudfoundry intro_20161201Myfirst cloudfoundry intro_20161201
Myfirst cloudfoundry intro_20161201Tomohiro Ichimura
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio CodeAkira Inoue
 
Nishimoto osh2014: Test driven development and accessibility
Nishimoto osh2014: Test driven development and accessibilityNishimoto osh2014: Test driven development and accessibility
Nishimoto osh2014: Test driven development and accessibilityTakuya Nishimoto
 
[MR08] 知っておくべき UWP アプリ開発の A to Z
[MR08] 知っておくべき UWP アプリ開発の A to Z[MR08] 知っておくべき UWP アプリ開発の A to Z
[MR08] 知っておくべき UWP アプリ開発の A to Zde:code 2017
 
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015ichikaway
 
Visual Studio Code #phpcon2015
Visual Studio Code #phpcon2015Visual Studio Code #phpcon2015
Visual Studio Code #phpcon2015Aya Tokura
 

What's hot (20)

室内空調シミュレーション手順書
室内空調シミュレーション手順書室内空調シミュレーション手順書
室内空調シミュレーション手順書
 
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
 
活動報告9 laravel5入門-
活動報告9  laravel5入門-活動報告9  laravel5入門-
活動報告9 laravel5入門-
 
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
 
20030712
2003071220030712
20030712
 
CruiseControl.NET設置
CruiseControl.NET設置CruiseControl.NET設置
CruiseControl.NET設置
 
FreeCAD OpenFOAM Workbenchセットアップ方法と課題
FreeCAD OpenFOAM Workbenchセットアップ方法と課題FreeCAD OpenFOAM Workbenchセットアップ方法と課題
FreeCAD OpenFOAM Workbenchセットアップ方法と課題
 
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
 
Myfirst cloudfoundry intro_20161201
Myfirst cloudfoundry intro_20161201Myfirst cloudfoundry intro_20161201
Myfirst cloudfoundry intro_20161201
 
Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio Code
 
Nishimoto osh2014: Test driven development and accessibility
Nishimoto osh2014: Test driven development and accessibilityNishimoto osh2014: Test driven development and accessibility
Nishimoto osh2014: Test driven development and accessibility
 
Windowsでhaskell
WindowsでhaskellWindowsでhaskell
Windowsでhaskell
 
[MR08] 知っておくべき UWP アプリ開発の A to Z
[MR08] 知っておくべき UWP アプリ開発の A to Z[MR08] 知っておくべき UWP アプリ開発の A to Z
[MR08] 知っておくべき UWP アプリ開発の A to Z
 
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
 
PHP agile test tips
PHP agile test tipsPHP agile test tips
PHP agile test tips
 
Test to net core 3
Test to net core 3Test to net core 3
Test to net core 3
 
Gaej Explorer
Gaej ExplorerGaej Explorer
Gaej Explorer
 
SubversionServer設置
SubversionServer設置SubversionServer設置
SubversionServer設置
 
Visual Studio Code #phpcon2015
Visual Studio Code #phpcon2015Visual Studio Code #phpcon2015
Visual Studio Code #phpcon2015
 

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

xamarin for android試してみた
xamarin for android試してみたxamarin for android試してみた
xamarin for android試してみたLee Choong Geun
 
Application Deployment on AWS
Application Deployment on AWSApplication Deployment on AWS
Application Deployment on AWSEiji Shinohara
 
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~decode2016
 
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~de:code 2017
 
Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法Microsoft Corporation
 
前略,Xamarin.Mac使いより
前略,Xamarin.Mac使いより前略,Xamarin.Mac使いより
前略,Xamarin.Mac使いよりTsubasa Hirano
 
Deploy application from web editor 20140326 public
Deploy application from web editor 20140326 publicDeploy application from web editor 20140326 public
Deploy application from web editor 20140326 publicTakehiko Amano
 
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成Hiroshi Yamaguchi
 
2_C言語入門 - VisualStudioについて
2_C言語入門 - VisualStudioについて2_C言語入門 - VisualStudioについて
2_C言語入門 - VisualStudioについてbc_rikko
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxKazushi Kamegawa
 
SharePoint Framework Teams タブ開発基礎講座
SharePoint Framework Teams タブ開発基礎講座SharePoint Framework Teams タブ開発基礎講座
SharePoint Framework Teams タブ開発基礎講座Hiroaki Oikawa
 
Microsoft Holographicってなに? 来年、Windows 10に来るらしいぜ?
Microsoft Holographicってなに?来年、Windows 10に来るらしいぜ?Microsoft Holographicってなに?来年、Windows 10に来るらしいぜ?
Microsoft Holographicってなに? 来年、Windows 10に来るらしいぜ?Akira Hatsune
 
Nseg20120929
Nseg20120929Nseg20120929
Nseg20120929hiro345
 
Eclipse xtext 紹介
Eclipse xtext 紹介Eclipse xtext 紹介
Eclipse xtext 紹介Akira Tanaka
 
Firefox OSについて
Firefox OSについてFirefox OSについて
Firefox OSについてBeMarble
 
20090415 すばらしきSymfonyの世界へようこそ
20090415 すばらしきSymfonyの世界へようこそ20090415 すばらしきSymfonyの世界へようこそ
20090415 すばらしきSymfonyの世界へようこそHiromu Shioya
 

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

20050903
2005090320050903
20050903
 
後期講座05
後期講座05後期講座05
後期講座05
 
xamarin for android試してみた
xamarin for android試してみたxamarin for android試してみた
xamarin for android試してみた
 
Application Deployment on AWS
Application Deployment on AWSApplication Deployment on AWS
Application Deployment on AWS
 
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
 
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
 
Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法
 
前略,Xamarin.Mac使いより
前略,Xamarin.Mac使いより前略,Xamarin.Mac使いより
前略,Xamarin.Mac使いより
 
20140629 firefoxos-devenv
20140629 firefoxos-devenv20140629 firefoxos-devenv
20140629 firefoxos-devenv
 
Scoop!
Scoop!Scoop!
Scoop!
 
Deploy application from web editor 20140326 public
Deploy application from web editor 20140326 publicDeploy application from web editor 20140326 public
Deploy application from web editor 20140326 public
 
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成
 
2_C言語入門 - VisualStudioについて
2_C言語入門 - VisualStudioについて2_C言語入門 - VisualStudioについて
2_C言語入門 - VisualStudioについて
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
 
SharePoint Framework Teams タブ開発基礎講座
SharePoint Framework Teams タブ開発基礎講座SharePoint Framework Teams タブ開発基礎講座
SharePoint Framework Teams タブ開発基礎講座
 
Microsoft Holographicってなに? 来年、Windows 10に来るらしいぜ?
Microsoft Holographicってなに?来年、Windows 10に来るらしいぜ?Microsoft Holographicってなに?来年、Windows 10に来るらしいぜ?
Microsoft Holographicってなに? 来年、Windows 10に来るらしいぜ?
 
Nseg20120929
Nseg20120929Nseg20120929
Nseg20120929
 
Eclipse xtext 紹介
Eclipse xtext 紹介Eclipse xtext 紹介
Eclipse xtext 紹介
 
Firefox OSについて
Firefox OSについてFirefox OSについて
Firefox OSについて
 
20090415 すばらしきSymfonyの世界へようこそ
20090415 すばらしきSymfonyの世界へようこそ20090415 すばらしきSymfonyの世界へようこそ
20090415 すばらしきSymfonyの世界へようこそ
 

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