protected override double Execute(IGameState gameState) { var min = Minimum.Evaluate(gameState); var max = Maximum.Evaluate(gameState); if (Condition.Evaluate(gameState)) { _value = (_random.NextDouble() * (max - min) + min); } return(_value); }