public class AIHandler
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private class |
AIHandler.AIChat |
private class |
AIHandler.AIDiscard |
private class |
AIHandler.AITakeTurn |
private class |
AIHandler.AITrade |
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.Integer,AI> |
AIbyIndex |
private java.util.Map<java.lang.String,AI> |
AIbyName |
private java.util.Map<AIType,java.util.Set<AI>> |
AIbyType |
private static AIHandler |
handler |
private java.util.List<java.lang.String> |
types |
Modifier | Constructor and Description |
---|---|
private |
AIHandler()
Creates an AI Handler
|
Modifier and Type | Method and Description |
---|---|
private void |
AddAI(AI ai) |
void |
Chat(int aiID,
int gameID,
java.lang.String message)
Tells an AI of a chat message.
|
private void |
CompileTypes() |
void |
Discard(int aiID,
int gameID)
Tells an AI to discard.
|
int |
GetAI(AIType type,
java.util.List<java.lang.Integer> inGame)
Gets a random AI associated with the desired type.
|
static AIHandler |
GetHandler() |
java.lang.String |
GetName(int id)
Gets the name of the AI based on ID.
|
java.util.Set<java.lang.String> |
GetNames()
Gets the names of all available AIs.
|
java.util.List<java.lang.String> |
GetTypes()
Gets the available types of AIs.
|
CatanColor |
PickColor(int id,
java.util.Set<CatanColor> notAvailable)
Asks the AI to pick a color.
|
void |
RegisterAI(java.lang.String name,
int playerID)
Sets the player ID of the AI player.
|
void |
RunAI(int aiID,
int gameID)
Tells an AI to begin its turn.
|
void |
Trade(int aiID,
int gameID,
OfferedTrade trade) |
private static AIHandler handler
private java.util.List<java.lang.String> types
private java.util.Map<java.lang.String,AI> AIbyName
private java.util.Map<java.lang.Integer,AI> AIbyIndex
public static AIHandler GetHandler()
public void RegisterAI(java.lang.String name, int playerID)
name
- The AI's name.playerID
- The player ID to set.public java.util.List<java.lang.String> GetTypes()
public java.util.Set<java.lang.String> GetNames()
public java.lang.String GetName(int id)
id
- The ID of the AI.public int GetAI(AIType type, java.util.List<java.lang.Integer> inGame)
type
- The AI.public CatanColor PickColor(int id, java.util.Set<CatanColor> notAvailable)
id
- The ID of the AI.notAvailable
- The colors already selected.public void RunAI(int aiID, int gameID)
aiID
- the ID of the AI.gameID
- The ID of the game.public void Discard(int aiID, int gameID)
aiID
- The ID of the AI.gameID
- The ID of the game.public void Chat(int aiID, int gameID, java.lang.String message)
aiID
- The ID of the AI.gameID
- the ID of the game.message
- The message to give to the AI.public void Trade(int aiID, int gameID, OfferedTrade trade)
private void CompileTypes()
private void AddAI(AI ai)