generateSimilarDot static method

Dot generateSimilarDot({
  1. required Color color,
  2. required double size,
  3. required double minSpeed,
  4. required double maxSpeed,
  5. required Size rangeOfMotion,
})

Implementation

static Dot generateSimilarDot({
  required Color color,
  required double size,
  required double minSpeed,
  required double maxSpeed,
  required Size rangeOfMotion,
}) {
  var random = Random();

  // Generate random initial direction
  var dx = random.nextBool() ? -random.nextDouble() : random.nextDouble();
  var dy = random.nextBool() ? -random.nextDouble() : random.nextDouble();
  var direction = Offset(dx, dy);

  // Random speed
  var speed = minSpeed + (maxSpeed - minSpeed) * random.nextDouble();

  var generatedDot = Dot(
    color: color,
    size: size,
    initialSpeed: speed,
    initialPosition: Offset.zero,
    direction: direction,
    maxSpeed: maxSpeed,
  );
  // Give random position within rangeOfMotion
  generatedDot._placeIn(rangeOfMotion);

  return generatedDot;
}