Exemplo n.º 1
0
 /**
  * Look for rabbits adjacent to the current location. Only the first live rabbit is eaten.
  *
  * @return Where food was found, or null if it wasn't.
  */
 private Location findFood() {
   Field field = getField();
   List<Location> adjacent = field.adjacentLocations(getLocation());
   Iterator<Location> it = adjacent.iterator();
   while (it.hasNext()) {
     Location where = it.next();
     Object animal = field.getObjectAt(where);
     if (animal instanceof Rabbit) {
       Rabbit rabbit = (Rabbit) animal;
       if (rabbit.isAlive()) {
         rabbit.setDead();
         foodLevel = RABBIT_FOOD_VALUE;
         // Remove the dead rabbit from the field.
         return where;
       }
     }
     if (animal instanceof Fox) {
       Fox fox = (Fox) animal;
       if (fox.isAlive()) {
         fox.setDead();
         foodLevel = WOLVES_FOOD_VALUE;
         // Remove the dead rabbit from the field.
         return where;
       }
     }
   }
   return null;
 }