ColorShapeLinks AI
An AI competition for the IEEE Conference on Games 2021
ColorShapeLinks.TextBased.Lib Namespace Reference

Library "engine" code for console or third-party implementations of ColorShapeLinks. More...

Classes

class  CompSessionListener
 Session event listener which outputs complete session information in Markdown format with links text files containing the play outs of each match. More...
 
interface  IMatchListener
 Interface to be implemented by classes who wish to listen to match events. More...
 
interface  IMatchSubject
 Interface defining the events raised in a match of ColorShapeLinks. More...
 
interface  ISessionListener
 Interface to be implemented by classes who wish to listen to session events. More...
 
interface  ISessionSubject
 Interface defining the events raised in a session of ColorShapeLinks. More...
 
interface  IThinkerListener
 Interface to be implemented by classes who wish to listen to thinker events. More...
 
class  MatchController
 This class runs a game-engine independent match of ColorShapeLinks. More...
 
class  RankingSessionListener
 Session event listener which outputs session final results into a TSV file. More...
 
class  SessionController
 Controls a session of ColorShapeLinks matches. More...
 
class  WinnerExtensions
 Extension methods for the Winner enum. More...
 

Enumerations

enum class  ExitStatus {
  Draw = 0 , WhiteWins = 1 , RedWins = 2 , Session = 3 ,
  Info = 4 , Exception = 5
}
 Possible exit status of the ColorShapeLinks console app. More...
 

Detailed Description

Library "engine" code for console or third-party implementations of ColorShapeLinks.

This namespace provides a backend, i.e., an engine, for running ColorShapeLinks games. It's a middleware between the essencial board game code (under the ColorShapeLinks.Common namespace) and frontend applications, such as the console implementation in the ColorShapeLinks.TextBased.App namespace.

Enumeration Type Documentation

◆ ExitStatus

enum ExitStatus
strong

Possible exit status of the ColorShapeLinks console app.

Enumerator
Draw 

Exit status returned by app when match ends in a draw.

WhiteWins 

Exit status returned by app when white (player 1) wins match.

RedWins 

Exit status returned by app when red (player 2) wins match.

Session 

Exit status returned by app when a session (i.e., a tournament), was successfully completed.

Info 

Exit status returned by app when debug info was requested and no game was played.

Exception 

Exit status returned by app when an unrecoverable exception is thrown.