Example usage for com.badlogic.gdx.utils BinaryHeap BinaryHeap

List of usage examples for com.badlogic.gdx.utils BinaryHeap BinaryHeap

Introduction

In this page you can find the example usage for com.badlogic.gdx.utils BinaryHeap BinaryHeap.

Prototype

public BinaryHeap(int capacity, boolean isMaxHeap) 

Source Link

Usage

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;
}