logo CodeStepByStep logo

Dragonfly

("Critter" classes come from Marty Stepp's "Critters" homework assignment. See "Critters spec" link above for more information.)

Write a class Dragonfly that extends the Critter class from the Critters assignment. Whenever a Dragonfly encounters food, it eats it. Eating affects the Dragonfly's movement.

Dragonfly objects move in a N/E/S/E sequence, initially going east once between going north and south, but going east an additional time for each time the Dragonfly has eaten.

  • If the Dragonfly has never eaten: North, East, South, East, and repeat
  • If the Dragonfly has eaten once: North, East, East, South, East, East, and repeat.
  • If the Dragonfly has eaten twice: North, East, East, East, South, East, East, East, and repeat.
  • ...

We will be somewhat flexible about what should happen if a Dragonfly eats in the middle of a movement sequence. Either it should take effect immediately, lengthening the rest of that sequence and all subsequent ones; or it can take effect at the beginning of the next overall N/E/S/E movement sequence, lengthening it and all subsequent sequences.

You may add anything needed (fields, constructors, etc.) to implement this behavior appropriately.

Inheritance: Write a Java class using inheritance.

You must log in before you can solve this problem.

Log In

Need help?

Stuck on an exercise? Contact your TA or instructor.

If something seems wrong with our site, please

Is there a problem? Contact us.