Esempio n. 1
0
 @Override
 public ArrayList<String> getVision(GameObjectID player) throws BozorgExceptionBase {
   if (!player.getClass().equals(Player.class)) throw new BozorgExceptionBase();
   if (((Player) (objects.get(player.getNumber()))).getHp() == 0) throw new BozorgExceptionBase();
   if (((Player) objects.get(player.getNumber())).getVision() > 0) {
     ArrayList<String> ret = new ArrayList<String>();
     for (int i = 0; i < map.getWidth(); i++)
       for (int j = 0; j < map.getHeight(); j++) ret.add(i + "," + j);
     return ret;
   }
   TreeSet<String> set = new TreeSet<String>();
   Player p = (Player) objects.get(player.getNumber());
   for (Object o : objects) {
     if (o.getClass().equals(Fan.class))
       if (((Fan) o).owner.equals((Player) objects.get(player.getNumber())) && ((Fan) o).isAlive)
         set.add(((Fan) o).x + "," + ((Fan) o).y);
   }
   for (int i = Math.max(0, p.x - p.getVision());
       i < Math.min(map.getWidth(), p.x + p.getVision() + 1);
       i++)
     for (int j = Math.max(0, p.y - p.getVision());
         j < Math.min(map.getHeight(), p.y + p.getVision() + 1);
         j++) set.add(i + "," + j);
   ArrayList<String> ret = new ArrayList<String>();
   for (String s : set) ret.add(s);
   return ret;
 }