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)));
        }
Esempio n. 2
0
        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)));
        }