class App implements Runnable {
  
  private static final Logger logger = LoggerFactory.getLogger(App.class.getName());
  
  private static final int NUM_CREATURES = 3;

  /**
   * Program entry point.
   *
   * @param args command line arguments.
   */
  public static void main(String[] args) {  
    var app = new App();
    app.run();
  }
  
  @Override
  public void run() {<FILL_FUNCTION_BODY>}
}

    List<ActiveCreature> creatures = new ArrayList<>();
    try {
      for (int i = 0; i < NUM_CREATURES; i++) {
        creatures.add(new Orc(Orc.class.getSimpleName() + i));
        creatures.get(i).eat();
        creatures.get(i).roam();
      }
      Thread.sleep(1000);
    } catch (InterruptedException e) {
      logger.error(e.getMessage());
      Thread.currentThread().interrupt();
    } finally {
      for (int i = 0; i < NUM_CREATURES; i++) {
        creatures.get(i).kill(0);
      }
    }
  
<no_super_class>