createInstruction method

  1. @override
List<Instruction> createInstruction(
  1. TurtleState turtle,
  2. Map argv
)
override

Creates instructions.

Implementation

@override
List<Instruction> createInstruction(TurtleState turtle, Map argv) {
  final copy = Map.of(argv);
  final radians = _angleToRadians(turtle.degrees);
  final double distance = this.distance(copy);
  final dx = math.cos(radians) * distance;
  final dy = math.sin(radians) * distance;
  final currentPosition = turtle.position;
  turtle.position = currentPosition + Offset(dx, dy);

  return turtle.isPenDown
      ? [DrawLineInstruction(currentPosition, turtle.position)]
      : [];
}