org.jscience.computing.game.muehle
Class MuehlePlayer

java.lang.Object
  extended by org.jscience.computing.game.TemplatePlayer
      extended by org.jscience.computing.game.muehle.MuehlePlayer
All Implemented Interfaces:
java.io.Serializable, Player

public class MuehlePlayer
extends TemplatePlayer

adds AI to the MuehleGame and provides a suitable heuristic to evaluate the game

See Also:
MuehleGame, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jscience.computing.game.TemplatePlayer
TemplatePlayer.MoveEvaluater, TemplatePlayer.Synchronizer
 
Field Summary
 
Fields inherited from class org.jscience.computing.game.TemplatePlayer
levelOverwrite, monitors, orderMoves, playerName, SEARCH_ALPHABETA, SEARCH_MINMAX, searchOption
 
Constructor Summary
MuehlePlayer()
          Creates a new MuehlePlayer object.
MuehlePlayer(java.lang.String name)
          Creates a new MuehlePlayer object.
MuehlePlayer(java.lang.String name, int searchOption, boolean trackingEnabled)
          Creates a new MuehlePlayer object.
MuehlePlayer(java.lang.String name, int searchOption, boolean trackingEnabled, long randomSeed)
          Creates a new MuehlePlayer object.
 
Method Summary
 boolean canPlayGame(GamePlay game)
          DOCUMENT ME!
 double heuristic(GamePlay game, GameMove move, int[] role)
          DOCUMENT ME!
 boolean pruneMove(GamePlay game, GameMove move, int[] role)
          A move is pruned if capture moves are possible while this is not one of them (with the exception of when the opponent may only have 3 pieces left and may jump).
 void setRandomSeed(long seed)
          if seed = 0, randomization is disabled
 java.lang.String toString()
          DOCUMENT ME!
 
Methods inherited from class org.jscience.computing.game.TemplatePlayer
disableTracking, enableTracking, evaluate, evaluate, getLevelOverwrite, getMonitors, getOrderMoves, getPlayerName, getSearchOption, numberOfPositionsSearched, numberOfRequests, performanceRatio, selectMove, setLevelOverwrite, setOrderMoves, setPlayerName, setSearchOption, setTracking, statsAsString, totalTimeTaken, trackingEnabled
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MuehlePlayer

public MuehlePlayer()
Creates a new MuehlePlayer object.


MuehlePlayer

public MuehlePlayer(java.lang.String name)
Creates a new MuehlePlayer object.

Parameters:
name - DOCUMENT ME!

MuehlePlayer

public MuehlePlayer(java.lang.String name,
                    int searchOption,
                    boolean trackingEnabled)
Creates a new MuehlePlayer object.

Parameters:
name - DOCUMENT ME!
searchOption - DOCUMENT ME!
trackingEnabled - DOCUMENT ME!

MuehlePlayer

public MuehlePlayer(java.lang.String name,
                    int searchOption,
                    boolean trackingEnabled,
                    long randomSeed)
Creates a new MuehlePlayer object.

Parameters:
name - DOCUMENT ME!
searchOption - DOCUMENT ME!
trackingEnabled - DOCUMENT ME!
randomSeed - DOCUMENT ME!
Method Detail

canPlayGame

public boolean canPlayGame(GamePlay game)
DOCUMENT ME!

Parameters:
game - DOCUMENT ME!
Returns:
DOCUMENT ME!

pruneMove

public boolean pruneMove(GamePlay game,
                         GameMove move,
                         int[] role)
A move is pruned if capture moves are possible while this is not one of them (with the exception of when the opponent may only have 3 pieces left and may jump).

Specified by:
pruneMove in interface Player
Overrides:
pruneMove in class TemplatePlayer
Parameters:
game - DOCUMENT ME!
move - DOCUMENT ME!
role - DOCUMENT ME!
Returns:
DOCUMENT ME!

setRandomSeed

public void setRandomSeed(long seed)
if seed = 0, randomization is disabled

Parameters:
seed - DOCUMENT ME!

heuristic

public double heuristic(GamePlay game,
                        GameMove move,
                        int[] role)
DOCUMENT ME!

Parameters:
game - DOCUMENT ME!
move - DOCUMENT ME!
role - DOCUMENT ME!
Returns:
DOCUMENT ME!
See Also:
TemplatePlayer

toString

public java.lang.String toString()
DOCUMENT ME!

Overrides:
toString in class TemplatePlayer
Returns:
DOCUMENT ME!