Architechture

As illustrated in the diagram below, to execute a game we have to run a game manager (provided) and two playing agents.



The implementation of the playing agent interaction with the server is provided through the SadnaGamer class. 
To implement a four-in-a-row playing agent your gamer class has to implement the FourInARow interface, which basically includes callbacks for game start (role - black or red - is passed), game move (opponent move and player move options are passed), and game termination (score is passed). The following diagram illustrated the above relations:

SadnaGamer actually adapts a generic Gamer class to the specific FourInARow interface and its main method merely executes the GamePlayer loop that takes care of communication with the game manager. Note that in order to implement a four-in-a-row player there is no need to consider any of the above internal structure - you just have to  implement the FourInARow interface. All the required software to execute a game manager and implement a playing agent (together with a sample gamer) is provided in the software section.