com.antelmann.game.puzzle
Class TilePuzzlePlayer
java.lang.Object
com.antelmann.game.TemplatePlayer
com.antelmann.game.puzzle.TilePuzzlePlayer
- All Implemented Interfaces:
- Player, Serializable
public class TilePuzzlePlayer
- extends TemplatePlayer
provides AI for a TilePuzzle game
- Author:
- Holger Antelmann
- See Also:
- Serialized Form
| Methods inherited from class com.antelmann.game.TemplatePlayer |
disableTracking, enableTracking, evaluate, evaluate, getlevelOverride, getMonitors, getOrderMoves, getPlayerName, getSearchOption, numberOfPositionsSearched, numberOfRequests, performanceRatio, pruneMove, selectMove, setlevelOverride, setOrderMoves, setPlayerName, setSearchOption, setTracking, statsAsString, totalTimeTaken, trackingEnabled |
TilePuzzlePlayer
public TilePuzzlePlayer()
TilePuzzlePlayer
public TilePuzzlePlayer(String name)
TilePuzzlePlayer
public TilePuzzlePlayer(String name,
int searchOption,
boolean trackingEnabled)
TilePuzzlePlayer
public TilePuzzlePlayer(String name,
int searchOption,
boolean trackingEnabled,
long randomSeed)
canPlayGame
public boolean canPlayGame(GamePlay game)
- Description copied from interface:
Player
- canPlayGame() returns true only if the Player provides
an applicable heuristic for the type of game given.
This way, a player can control whether it can a game.
//Example:
if (game instanceof MyGameClass) return true; else return false;
// or:
if (game.getClass() == myFavoriteGame.getClass()) return true; else return false;
setRandomSeed
public void setRandomSeed(long seed)
- if seed = 0, randomization is disabled
heuristic
public double heuristic(GamePlay game,
GameMove move,
int[] role)
- Description copied from interface:
Player
- This function - often used as a callback function - evaluates the given move
in the context of the given game; it is expected to return quickly.
This function is really the only function that contains proprietory knowlege about
the game (as all other functions could be implemented generically without domain
knowlege; this is why the class TemplatePlayer provides already most methods
except this function for easy implementations of this interface);
heuristic() asks for a heuristic of the move given the game status - treating the
status as a leaf in a potential search tree (whereas evaluate() may perform a game tree
search before returning a value).
- See Also:
TemplatePlayer
nielsson
public static double nielsson(TilePuzzle game)
manhattanDistance
public static int manhattanDistance(TilePuzzle game)
outOfPlace
public static int outOfPlace(TilePuzzle game)
toString
public String toString()
- Description copied from class:
TemplatePlayer
- overridden to return some information about the player
- Overrides:
toString in class TemplatePlayer
(c) 2001-2006 Holger Antelmann - all rights reserved (contact: info@antelmann.com)
see www.antelmann.com/developer for further details and available downloads