public GameAfterFifthMoveOrWonGame MoveX(Position position) { Record(position); // TODO check for winner if (HasWon() || position.Equals(new Position(Row.Top, Column.Middle))) { return(new GameAfterFifthMoveOrWonGame(new WonGame(_wonAction, Player.X))); } return(new GameAfterFifthMoveOrWonGame(new GameAfterFifthMove(_wonAction))); }
public GameAfterSixthMoveOrWonGame MoveO(Position position) { // TODO capture position base.Record(position); // TODO check for winner if (HasWon() || position.Equals(new Position(Row.Top, Column.Right))) { return(new GameAfterSixthMoveOrWonGame(new WonGame(_wonAction, Player.O))); } return(new GameAfterSixthMoveOrWonGame(new GameAfterSixthMove(_wonAction))); }