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

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

Introduction

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

Prototype

public T peek() 

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));
    }// ww w  .  j  a v a2 s  .  co  m

    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  w w  w .  j  a  va  2 s.  c  om*/
    if (heap.size == 0)
        return elements.first();
    return heap.peek().t;
}