Implemented initial tests for Foresighter
Triangulated ForesighterTest
Simplified test name
Finished Foresighter implementation
Foresighter foresees future actions (Plays) not outcomes (States). The outcomes are consequences of those actions.
Moved equals checking mechanism from State to Play
The parameters in State.put(Player, Location) represent a Play
Added partial implementation of GameTreeGenerator
Created canonical X and O instances of Player
Added playing order inside Player
Added decisionMaker attribute to State
Replaced State.put(Play) for State.play(Location) and make the implicit player to be the next Player
Removed x and y from TextRenderer output
Renamed Location's x, y to col, row
Removed redundant parameter
Added Choice.toString
Triangulated hardcoded Location and Outcome
Implemented multiples choices
Removed unused Foresighter class
Added toString to Outcome classes