ColorShapeLinks AI
An AI competition for the IEEE Conference on Games 2021
|
The actual AI code of specific AIs should be placed in classes which extend this class. More...
Public Member Functions | |
virtual void | Setup (string str) |
Setup thinker. More... | |
abstract FutureMove | Think (Board board, CancellationToken ct) |
Perform a move. More... | |
override string | ToString () |
Returns a short string description of the AI. More... | |
Protected Member Functions | |
void | OnThinkingInfo (string info) |
Outputs thinking information. More... | |
Properties | |
int | Rows [get] |
Number of board rows. More... | |
int | Cols [get] |
Number of board columns. More... | |
int | WinSequence [get] |
How many pieces in sequence to find a winner. More... | |
int | RoundsPerPlayer [get] |
Number of initial round pieces per player. More... | |
int | SquaresPerPlayer [get] |
Number of initial square round pieces per player More... | |
int | TimeLimitMillis [get] |
Time limit for the AI to play. More... | |
Events | |
Action< string > | ThinkingInfo |
Event raised when thinkers produce information while thinking. More... | |
Events inherited from IThinker | |
Action< string > | ThinkingInfo |
Event raised when thinkers produce information while thinking. More... | |
The actual AI code of specific AIs should be placed in classes which extend this class.
|
inlineprotected |
Outputs thinking information.
info | String containing the thinking information. |
In the Unity frontend this information is shown in Unity's console, while in the console frontend it is forwarded to the registered thinker listeners (which by default print to the terminal).
This method raises the ThinkingInfo event in order to output thinking information. Thinkers should use this method instead of raising the event directly.
|
inlinevirtual |
Setup thinker.
str | String containing setup parameters, should be parsed by the concrete AI thinker. |
By default, this method does nothing and its implementation by the concrete thinkers is entirely optional.
Reimplemented in HumanThinker, RandomMemoryHoarderThinker, RandomAIThinker, MinimaxAIThinker, and BadMoveAIThinker.
|
pure virtual |
Perform a move.
board | The game board. |
ct | A cancellation token. |
The main thread may ask the thinker to stop thinking. As such, this method should frequently test if a cancellation request was made to the cancellation token (ct ). If so, it should return immediately with no move performed, as exemplified in the following code:
Implements IThinker.
Implemented in HumanThinker, SequentialAIThinker, RandomMemoryHoarderThinker, RandomAIThinker, MinimaxAIThinker, and BadMoveAIThinker.
|
inline |
|
getprotected |
Number of board columns.
|
getprotected |
Number of initial round pieces per player.
|
getprotected |
Number of board rows.
|
getprotected |
Number of initial square round pieces per player
|
getprotected |
Time limit for the AI to play.
|
getprotected |
How many pieces in sequence to find a winner.
Action<string> ThinkingInfo |
Event raised when thinkers produce information while thinking.