|
Holger's Java API |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.antelmann.game.AbstractGame
com.antelmann.game.muehle.MuehleGame
public class MuehleGame
a representation of the game of Muehle
MuehlePosition,
Serialized Form| Field Summary | |
|---|---|
static int |
EMPTY
|
static int |
NUMBER_OF_PIECES
|
| Constructor Summary | |
|---|---|
MuehleGame()
|
|
MuehleGame(String name)
|
|
| Method Summary | |
|---|---|
boolean |
allInMuehle(int player)
|
Object |
clone()
Any inheriting class with non-primitive members must override this clone() method to provide a full deep copy of the object, which is essential for spawnChild() to work correctly. |
boolean |
equals(Object obj)
|
int |
getRemainingInHand(int player)
|
int |
getValueAt(MuehlePosition pos)
|
int[] |
getWinner()
getWinner() returns an array of all winning game roles - as there could be more than one winner. |
int |
hashCode()
still experimental |
boolean |
isInMuehle(int pos,
int player)
isInMuehle() returns true only if a pair of corresponding Positions to the given MuehlePosition contain pieces of the same player as given. |
protected GameMove[] |
listLegalMoves()
listLegalMoves() returns the legal moves for this game. |
int |
nextPlayer()
nextPlayer() returns the integer representing the game role of the next player. |
int |
piecesLeft(int player)
|
protected boolean |
popMove()
popMove undoes the last move by altering the game board to the stage before the last move happened. |
protected boolean |
pushMove(GameMove move)
pushMove takes a GameMove and alters the game according to to the move. |
String |
toString()
overridden to provide useful information about the game |
| Methods inherited from class com.antelmann.game.AbstractGame |
|---|
addObserver, clearRedoList, gameOver, getGameName, getLastMove, getLastPlayer, getLegalMoves, getLegalMoves, getMoveHistory, getNumberOfRedoMoves, getObservers, getRedoList, getResult, isLegalMove, isWinner, loadFromFile, makeMove, numberOfMoves, numberOfPlayers, redoMove, removeObserver, resetLegalMoves, resetLists, saveToFile, spawnChild, undoLastMove, undoMoves |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final int NUMBER_OF_PIECES
public static final int EMPTY
| Constructor Detail |
|---|
public MuehleGame()
public MuehleGame(String name)
| Method Detail |
|---|
protected GameMove[] listLegalMoves()
AbstractGame
listLegalMoves in class AbstractGamepublic int nextPlayer()
GamePlay
public int[] getWinner()
GamePlay
protected boolean pushMove(GameMove move)
AbstractGame
pushMove in class AbstractGameprotected boolean popMove()
AbstractGame
popMove in class AbstractGamepublic int getValueAt(MuehlePosition pos)
public boolean isInMuehle(int pos,
int player)
public boolean allInMuehle(int player)
public int piecesLeft(int player)
public int getRemainingInHand(int player)
public String toString()
AbstractGame
toString in class AbstractGame
public Object clone()
throws CloneNotSupportedException
AbstractGamespawnChild() to work correctly. Ay overriding
of this method should still begin with a call to
super.clone(), though.
Also, note that this clone() method does not clone the
embedded GameMove objects, i.e. those are expected not to change
(except for their heuristics, which shouldn't affect game
functionality) - or the subclass will have to take care of this.
clone in interface GamePlayclone in class AbstractGameCloneNotSupportedExceptionAbstractGame.spawnChild(GameMove)public boolean equals(Object obj)
equals in class Objectpublic int hashCode()
hashCode in class Object
|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||