private ImmutableList <Turn> AddThrowIntoTurns(ThrowResult result) { if (!Turns.Any() || Turns.Last().Finished) { return(Turns .Add(new Turn(Score).WithAdditionalThrow(result))); } return(Turns .RemoveAt(Turns.Count - 1) .Add(Turns.Last().WithAdditionalThrow(result))); }
public bool Has(State state) => Turns.Any(turn => turn.GameState.Equals(state));