List of usage examples for com.badlogic.gdx.utils BinaryHeap BinaryHeap
public BinaryHeap(int capacity, boolean isMaxHeap)
From source file:com.vlaaad.dice.game.world.behaviours.processors.ai.AiDefaultTurnProcessor.java
License:Open Source License
public static Grid2D.Coordinate selectMoveTarget(Creature creature, Array<Grid2D.Coordinate> coordinates, CellValueCalculator calculator) { BinaryHeap<Node> heap = new BinaryHeap<Node>(9, true); for (Grid2D.Coordinate c : coordinates) { float value = calculator.getValue(creature, c.x(), c.y()); heap.add(new Node(c.x(), c.y(), value)); }/* www.j av a 2 s.c om*/ if (heap.size == 0) return new Grid2D.Coordinate(creature.getX(), creature.getY()); Node node = heap.peek(); return new Grid2D.Coordinate(node.x, node.y); }
From source file:com.vlaaad.dice.game.world.behaviours.processors.ai.AiDefaultTurnProcessor.java
License:Open Source License
public static <T> T selectBest(Array<T> elements, Function<T, Float> calc) { BinaryHeap<TypedNode<T>> heap = new BinaryHeap<TypedNode<T>>(9, true); for (T t : elements) { float value = calc.apply(t); heap.add(new TypedNode<T>(t, value)); }/*from ww w.j a va 2 s.co m*/ if (heap.size == 0) return elements.first(); return heap.peek().t; }