import java.util.ArrayList;
import java.util.HashMap;

public class Util {

	public static Position[] getPortalInRange(int player, int range) {
		Position pl = Interface.position_agent(player);
		Position[] portal = Interface.liste_portails();
		ArrayList<Position> re = new ArrayList<Position>();
		for (Position p : portal) {
			if (Interface.distance(pl, p) <= range) {
				re.add(p);
			}
		}
		return (Position[]) re.toArray();
	}

	public static Position getNearestPortal(int player) {
		Position pl = Interface.position_agent(player);
		int min = Integer.MAX_VALUE;
		Position[] portal = Interface.liste_portails();
		Position pF = null;
		for (Position p : portal) {
			if (Interface.distance(pl, p) < min) {
				min = Interface.distance(pl, p);
				pF = p;
			}
		}
		return pF;
	}

	public static Position[] getPortalInRangeSort(int player, int range) {
		Position pl = Interface.position_agent(player);
		Position[] portal = Interface.liste_portails();
		HashMap<Integer, Position> re = new HashMap<Integer, Position>();
		for (Position p : portal) {
			if (Interface.distance(pl, p) <= range) {
				re.put(Interface.distance(pl, p), p);
			}
		}
		return (Position[]) re.toArray();
	}

}
