SlideShare ist ein Scribd-Unternehmen logo
1 von 19
How to make an artificial intelligence
based werewolf agent in C#
using Visual Studio
Takashi OTSUKI
Academic Assembly, Yamagata University JAPAN
Preparations
1. Install Visual Studio. We use VS Community 2015 here.
2. Download and unzip AIWolf platform.
http://www.aiwolf.org/aiwp/wp-content/uploads/2014/03/aiwolf-ver0.3.2.zip
3. Download and unzip AIWolf.NET.
https://github.com/AIWolfSharp/AIWolf_NET/releases/download/v0.1.0/AIWolf_NET-0.1.0.zip
4. Obtain Json.NET and put Newtonsoft.Json.dll into the same folder
of AIWolf.NET.
Creating new project #1
File>New>Project
Creating new project #2
1. Select “Class Library”.
2. Enter the name of this project. (We name “MyFirstAgent” here.)
Creating new project #3
Source code of Class1 is automatically created.
Adding references
Add references to AIWolfLibCommon.dll, AIWolfLibClient.dll of AIWolf.NET.
Making my own RoleAssignPlayer #1
Rename Class1.cs MyRoleAssignPlayer.cs.
Making my own RoleAssignPlayer #2
Designate AbstractRoleAssignPlayer as the base class of MyRoleAssignPlayer.
Click the light bulb and select the quick action of adding “using” directive.
Making my own RoleAssignPlayer #3
Click the light bulb and select “Implement Abstract Class”.
Making my own RoleAssignPlayer #4
1. Modify “Name” property so that it will return string of “MyRoleAssignPlayer”.
2. Remove unnecessary usings.
3. We get the AIWolf agent which uses different sample player classes for different
roles.
Play AIWolf game using my own player #1
Project>MyFirstAgent Properties>Debug
1. Check “Start external program” and select ClientStarter.exe of AIWolf.NET.
2. In order to connect port 10000 of localhost and request the game server to assign
role of seer to this player, enter the command line arguments as follows.
-h localhost –p 10000 –c MyFirstAgent.MyRoleAssignPlayer MyFirstAgent.dll SEER
Play AIWolf game using my own player #2
Click “Start”
Connection
Completed
Start Game
Implementation of seer player #1
Project>Add Class
Add MySeerPlayer.cs.
Implementation of seer player #2
1. Designate AbstractSeer as the base
class of MySeerPlayer.
2. Click the light bulb and select the
quick action of adding “using”
directive.
3. Click the light bulb and select
“Implement Abstract Class”.
Implementation of seer player #3
Implement the method Divine() so that the seer will divine the player
chosen at random from alive others.
Implementation of seer player #4
Implement the method Vote()
so that the seer will
1. Vote the werewolf player
chosen at random from the
known werewolves,
2. Vote the player chosen at
random from the players
of uncertain team if any
werewolves are known.
Implementation of seer player #5
Implement the method Talk()
so that the seer will
1. Confess his role if he has
found a werewolf by
divination,
2. Report the result of
divination after the
confession.
Implementation of seer player #6
1. Nothing is implemented for the
method Finish() for now.
2. Implement the constructor of
MyRoleAssignPlayer class so that
MySeerPlayer class is used in
acting as seer.
Entry for AIWolf competition
1. Build on release configuration.
2. The file to be submitted is MyFirstAgent.dll in binRelease folder.
3. Before the submission, copy MyFirstAgent.dll into the folder of
AIWolf.NET and check that it works on command prompt as
follows.
ClientStarter.exe -h localhost –p 10000 –c MyFirstAgent.MyRoleAssignPlayer
MyFirstAgent.dll SEER

Weitere ähnliche Inhalte

Was ist angesagt?

Whatthestack using Tempest for testing your OpenStack deployment
Whatthestack using Tempest for testing your OpenStack deploymentWhatthestack using Tempest for testing your OpenStack deployment
Whatthestack using Tempest for testing your OpenStack deployment
Christian Schwede
 

Was ist angesagt? (20)

Django Deployment
Django DeploymentDjango Deployment
Django Deployment
 
React native on windows
React native on windowsReact native on windows
React native on windows
 
Docker 101
Docker 101Docker 101
Docker 101
 
Android application penetration testing
Android application penetration testingAndroid application penetration testing
Android application penetration testing
 
Cypress report
Cypress reportCypress report
Cypress report
 
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
 
Python Lecture 0
Python Lecture 0Python Lecture 0
Python Lecture 0
 
Test Driven Development with OSGi - Balázs Zsoldos
Test Driven Development with OSGi - Balázs ZsoldosTest Driven Development with OSGi - Balázs Zsoldos
Test Driven Development with OSGi - Balázs Zsoldos
 
TDD on OSGi, in practice.
TDD on OSGi, in practice.TDD on OSGi, in practice.
TDD on OSGi, in practice.
 
How to Install and Configure Jenkins on Centos 7
How to Install and Configure Jenkins on Centos 7How to Install and Configure Jenkins on Centos 7
How to Install and Configure Jenkins on Centos 7
 
Testing the Enterprise layers, with Arquillian
Testing the Enterprise layers, with ArquillianTesting the Enterprise layers, with Arquillian
Testing the Enterprise layers, with Arquillian
 
Howto Create & Run zf2skeleton Apps with PHP's Built-in Webserver
Howto Create & Run zf2skeleton Apps with PHP's Built-in WebserverHowto Create & Run zf2skeleton Apps with PHP's Built-in Webserver
Howto Create & Run zf2skeleton Apps with PHP's Built-in Webserver
 
Fastlane - Automation and Continuous Delivery for iOS Apps
Fastlane - Automation and Continuous Delivery for iOS AppsFastlane - Automation and Continuous Delivery for iOS Apps
Fastlane - Automation and Continuous Delivery for iOS Apps
 
Whatthestack using Tempest for testing your OpenStack deployment
Whatthestack using Tempest for testing your OpenStack deploymentWhatthestack using Tempest for testing your OpenStack deployment
Whatthestack using Tempest for testing your OpenStack deployment
 
Супер быстрая автоматизация тестирования на iOS
Супер быстрая автоматизация тестирования на iOSСупер быстрая автоматизация тестирования на iOS
Супер быстрая автоматизация тестирования на iOS
 
Using Composer with WordPress
Using Composer with WordPressUsing Composer with WordPress
Using Composer with WordPress
 
Vagrant - the essence of DevOps in a tool
Vagrant - the essence of DevOps in a toolVagrant - the essence of DevOps in a tool
Vagrant - the essence of DevOps in a tool
 
Flask
FlaskFlask
Flask
 
Fastlane
FastlaneFastlane
Fastlane
 
Code in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerCode in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and Docker
 

Andere mochten auch

2017-1-Level-B-Bladerepair-English
2017-1-Level-B-Bladerepair-English2017-1-Level-B-Bladerepair-English
2017-1-Level-B-Bladerepair-English
Leif Thorup
 
Curr brief secondary
Curr brief secondaryCurr brief secondary
Curr brief secondary
jeza daquiwag
 
MathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquation
MathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquationMathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquation
MathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquation
Alexander Kaunzinger
 

Andere mochten auch (17)

C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)
C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)
C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)
 
.NET CoreとVS Codeで作る人狼知能
.NET CoreとVS Codeで作る人狼知能.NET CoreとVS Codeで作る人狼知能
.NET CoreとVS Codeで作る人狼知能
 
C#版人狼知能エージェントの作り方~Visual Studio編~(AIWolf.NET 1.0.6版)
C#版人狼知能エージェントの作り方~Visual Studio編~(AIWolf.NET 1.0.6版)C#版人狼知能エージェントの作り方~Visual Studio編~(AIWolf.NET 1.0.6版)
C#版人狼知能エージェントの作り方~Visual Studio編~(AIWolf.NET 1.0.6版)
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
 
Slideshare fisiologia instintos sexo y sexualidad
Slideshare fisiologia instintos sexo y sexualidadSlideshare fisiologia instintos sexo y sexualidad
Slideshare fisiologia instintos sexo y sexualidad
 
Mahuya_Chowdhury
Mahuya_ChowdhuryMahuya_Chowdhury
Mahuya_Chowdhury
 
Pruebas objetivas
Pruebas objetivasPruebas objetivas
Pruebas objetivas
 
Informe final 2016 pdf
Informe  final  2016 pdfInforme  final  2016 pdf
Informe final 2016 pdf
 
A1. MEP 1 - Mod 1 - Tema1
A1. MEP 1 - Mod 1 - Tema1A1. MEP 1 - Mod 1 - Tema1
A1. MEP 1 - Mod 1 - Tema1
 
2017-1-Level-B-Bladerepair-English
2017-1-Level-B-Bladerepair-English2017-1-Level-B-Bladerepair-English
2017-1-Level-B-Bladerepair-English
 
Silabo evaluacion educativa pato tobar
Silabo evaluacion educativa pato tobarSilabo evaluacion educativa pato tobar
Silabo evaluacion educativa pato tobar
 
Mision vision
Mision  visionMision  vision
Mision vision
 
Curr brief secondary
Curr brief secondaryCurr brief secondary
Curr brief secondary
 
APC_TopJOB
APC_TopJOBAPC_TopJOB
APC_TopJOB
 
MathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquation
MathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquationMathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquation
MathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquation
 
FSB: TreeWalker - SECCON 2015 Online CTF
FSB: TreeWalker - SECCON 2015 Online CTFFSB: TreeWalker - SECCON 2015 Online CTF
FSB: TreeWalker - SECCON 2015 Online CTF
 
Brazil
BrazilBrazil
Brazil
 

Ähnlich wie How to make an artificial intelligence based werewolf agent in C# using Visual Studio

Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
mikaelbarbero
 
How tomakea gameinunity3d
How tomakea gameinunity3dHow tomakea gameinunity3d
How tomakea gameinunity3d
Dao Tung
 
Getting started with Verold and Three.js
Getting started with Verold and Three.jsGetting started with Verold and Three.js
Getting started with Verold and Three.js
Verold
 
Setting up your virtual infrastructure using fi lab cloud webminar
Setting up your virtual infrastructure using fi lab cloud webminarSetting up your virtual infrastructure using fi lab cloud webminar
Setting up your virtual infrastructure using fi lab cloud webminar
Henar Muñoz Frutos
 

Ähnlich wie How to make an artificial intelligence based werewolf agent in C# using Visual Studio (20)

VyAPI - A Modern Cloud Based Vulnerable Android App (Presented at BSides Delh...
VyAPI - A Modern Cloud Based Vulnerable Android App (Presented at BSides Delh...VyAPI - A Modern Cloud Based Vulnerable Android App (Presented at BSides Delh...
VyAPI - A Modern Cloud Based Vulnerable Android App (Presented at BSides Delh...
 
AIWolf programming guide
AIWolf programming guideAIWolf programming guide
AIWolf programming guide
 
tut0000021-hevery
tut0000021-heverytut0000021-hevery
tut0000021-hevery
 
tut0000021-hevery
tut0000021-heverytut0000021-hevery
tut0000021-hevery
 
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Pwnstaller
PwnstallerPwnstaller
Pwnstaller
 
Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016
Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016
Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016
 
Androidreadme
AndroidreadmeAndroidreadme
Androidreadme
 
How tomakea gameinunity3d
How tomakea gameinunity3dHow tomakea gameinunity3d
How tomakea gameinunity3d
 
Getting started with Verold and Three.js
Getting started with Verold and Three.jsGetting started with Verold and Three.js
Getting started with Verold and Three.js
 
Flutter Festival - GDSC IIIT Sonepat
Flutter Festival - GDSC IIIT Sonepat Flutter Festival - GDSC IIIT Sonepat
Flutter Festival - GDSC IIIT Sonepat
 
JavaFX - Sketch Board to Production
JavaFX - Sketch Board to ProductionJavaFX - Sketch Board to Production
JavaFX - Sketch Board to Production
 
Reversing & Malware Analysis Training Part 9 - Advanced Malware Analysis
Reversing & Malware Analysis Training Part 9 -  Advanced Malware AnalysisReversing & Malware Analysis Training Part 9 -  Advanced Malware Analysis
Reversing & Malware Analysis Training Part 9 - Advanced Malware Analysis
 
Экспресс-анализ вредоносов / Crowdsourced Malware Triage
Экспресс-анализ вредоносов / Crowdsourced Malware TriageЭкспресс-анализ вредоносов / Crowdsourced Malware Triage
Экспресс-анализ вредоносов / Crowdsourced Malware Triage
 
Setting up your virtual infrastructure using fi lab cloud webminar
Setting up your virtual infrastructure using fi lab cloud webminarSetting up your virtual infrastructure using fi lab cloud webminar
Setting up your virtual infrastructure using fi lab cloud webminar
 
React Native Android. It's easy.
React Native Android. It's easy.React Native Android. It's easy.
React Native Android. It's easy.
 
Android Automation Using Robotium
Android Automation Using RobotiumAndroid Automation Using Robotium
Android Automation Using Robotium
 
Appium- part 1
Appium- part 1Appium- part 1
Appium- part 1
 
Appium_set_up
Appium_set_upAppium_set_up
Appium_set_up
 

Kürzlich hochgeladen

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Kürzlich hochgeladen (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 

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

  • 1. How to make an artificial intelligence based werewolf agent in C# using Visual Studio Takashi OTSUKI Academic Assembly, Yamagata University JAPAN
  • 2. Preparations 1. Install Visual Studio. We use VS Community 2015 here. 2. Download and unzip AIWolf platform. http://www.aiwolf.org/aiwp/wp-content/uploads/2014/03/aiwolf-ver0.3.2.zip 3. Download and unzip AIWolf.NET. https://github.com/AIWolfSharp/AIWolf_NET/releases/download/v0.1.0/AIWolf_NET-0.1.0.zip 4. Obtain Json.NET and put Newtonsoft.Json.dll into the same folder of AIWolf.NET.
  • 3. Creating new project #1 File>New>Project
  • 4. Creating new project #2 1. Select “Class Library”. 2. Enter the name of this project. (We name “MyFirstAgent” here.)
  • 5. Creating new project #3 Source code of Class1 is automatically created.
  • 6. Adding references Add references to AIWolfLibCommon.dll, AIWolfLibClient.dll of AIWolf.NET.
  • 7. Making my own RoleAssignPlayer #1 Rename Class1.cs MyRoleAssignPlayer.cs.
  • 8. Making my own RoleAssignPlayer #2 Designate AbstractRoleAssignPlayer as the base class of MyRoleAssignPlayer. Click the light bulb and select the quick action of adding “using” directive.
  • 9. Making my own RoleAssignPlayer #3 Click the light bulb and select “Implement Abstract Class”.
  • 10. Making my own RoleAssignPlayer #4 1. Modify “Name” property so that it will return string of “MyRoleAssignPlayer”. 2. Remove unnecessary usings. 3. We get the AIWolf agent which uses different sample player classes for different roles.
  • 11. Play AIWolf game using my own player #1 Project>MyFirstAgent Properties>Debug 1. Check “Start external program” and select ClientStarter.exe of AIWolf.NET. 2. In order to connect port 10000 of localhost and request the game server to assign role of seer to this player, enter the command line arguments as follows. -h localhost –p 10000 –c MyFirstAgent.MyRoleAssignPlayer MyFirstAgent.dll SEER
  • 12. Play AIWolf game using my own player #2 Click “Start” Connection Completed Start Game
  • 13. Implementation of seer player #1 Project>Add Class Add MySeerPlayer.cs.
  • 14. Implementation of seer player #2 1. Designate AbstractSeer as the base class of MySeerPlayer. 2. Click the light bulb and select the quick action of adding “using” directive. 3. Click the light bulb and select “Implement Abstract Class”.
  • 15. Implementation of seer player #3 Implement the method Divine() so that the seer will divine the player chosen at random from alive others.
  • 16. Implementation of seer player #4 Implement the method Vote() so that the seer will 1. Vote the werewolf player chosen at random from the known werewolves, 2. Vote the player chosen at random from the players of uncertain team if any werewolves are known.
  • 17. Implementation of seer player #5 Implement the method Talk() so that the seer will 1. Confess his role if he has found a werewolf by divination, 2. Report the result of divination after the confession.
  • 18. Implementation of seer player #6 1. Nothing is implemented for the method Finish() for now. 2. Implement the constructor of MyRoleAssignPlayer class so that MySeerPlayer class is used in acting as seer.
  • 19. Entry for AIWolf competition 1. Build on release configuration. 2. The file to be submitted is MyFirstAgent.dll in binRelease folder. 3. Before the submission, copy MyFirstAgent.dll into the folder of AIWolf.NET and check that it works on command prompt as follows. ClientStarter.exe -h localhost –p 10000 –c MyFirstAgent.MyRoleAssignPlayer MyFirstAgent.dll SEER