package stray.pathfinding;
/**
* The description of a class providing a cost for a given tile based on a
* target location and entity being moved. This heuristic controls what priority
* is placed on different tiles during the search for a path
*
* @author Kevin Glass
*/
public interface AStarHeuristic {
/**
* Get the additional heuristic cost of the given tile. This controls the
* order in which tiles are searched while attempting to find a path to the
* target location. The lower the cost the more likely the tile will be
* searched.
*
* @param map
* The map on which the path is being found
* @param mover
* The entity that is moving along the path
* @param x
* The x coordinate of the tile being evaluated
* @param y
* The y coordinate of the tile being evaluated
* @param tx
* The x coordinate of the target location
* @param ty
* Teh y coordinate of the target location
* @return The cost associated with the given tile
*/
public float getCost(TileBasedMap map, Mover mover, int x, int y, int tx, int ty);
}