public void FinishRound(RoundResult result) { switch (State) { case GameState.Preparation: case GameState.BetweenRounds: throw new NoRoundRunningException(); case GameState.GameFinished: throw new GameOverException(); } CurrentRound.Result = result; }