de.fhwiesbaden.jgamp001.thello
Class ThelloGame
java.lang.Object
de.fhwiesbaden.jgamp001.thello.AbstractRegularGame<Pair<java.lang.Byte,java.lang.Byte>>
de.fhwiesbaden.jgamp001.thello.ThelloGame
- All Implemented Interfaces:
- Game<Pair<java.lang.Byte,java.lang.Byte>>, PerfectInformationGame<Pair<java.lang.Byte,java.lang.Byte>>, RegularGame<Pair<java.lang.Byte,java.lang.Byte>>, java.lang.Cloneable
public class ThelloGame
- extends AbstractRegularGame<Pair<java.lang.Byte,java.lang.Byte>>
Othello, das Herzstück des Spiels.
In Anlehnung an die Game Klassen ist dies die vollständige und regelkonforme
Implementation des Spiels.
|
Method Summary |
ThelloGame |
clone()
|
ThelloGame |
doMove(Pair<java.lang.Byte,java.lang.Byte> m)
|
int |
evalState(byte player)
|
java.util.List<Pair<Pair<java.lang.Integer,java.lang.Integer>,java.lang.Integer>> |
feldSchliesstGegnerEin(int x,
int y,
byte spieler)
|
java.lang.Integer |
getCurrentPlayersNumberOfStones()
|
java.util.List<Pair<java.lang.Byte,java.lang.Byte>> |
getMovesCurrent()
|
java.lang.Integer |
getMovesDone()
|
java.util.List<Pair<java.lang.Byte,java.lang.Byte>> |
getMovesOpponent()
|
java.lang.Integer |
getOpponentsNumberOfStones()
|
java.lang.Integer |
getSteineEins()
|
java.lang.Integer |
getSteineZwei()
|
java.lang.Boolean |
isLegalMove(Pair<java.lang.Byte,java.lang.Byte> move)
|
java.util.List<Pair<java.lang.Byte,java.lang.Byte>> |
moves()
|
java.util.List<Pair<java.lang.Byte,java.lang.Byte>> |
moves(byte spieler)
|
byte |
nextPlayer()
|
boolean |
noMoreMove()
|
ThelloGame |
setAtPosition(byte column,
byte row)
|
int |
steineZaehlen(java.util.List<Pair<java.lang.Integer,java.lang.Integer>> liste,
byte player)
|
java.lang.String |
toString()
|
boolean |
wins(byte player)
|
| Methods inherited from class de.fhwiesbaden.jgamp001.thello.AbstractRegularGame |
currentPlayer, ended, getAtPosition, getColumns, getPlayerNone, getPlayerOne, getPlayerTwo, getRows, lastPlayer, otherPlayer, wins |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
ThelloGame
public ThelloGame()
getSteineEins
public java.lang.Integer getSteineEins()
getSteineZwei
public java.lang.Integer getSteineZwei()
clone
public ThelloGame clone()
- Overrides:
clone in class AbstractRegularGame<Pair<java.lang.Byte,java.lang.Byte>>
setAtPosition
public ThelloGame setAtPosition(byte column,
byte row)
- Specified by:
setAtPosition in interface RegularGame<Pair<java.lang.Byte,java.lang.Byte>>- Specified by:
setAtPosition in class AbstractRegularGame<Pair<java.lang.Byte,java.lang.Byte>>
doMove
public ThelloGame doMove(Pair<java.lang.Byte,java.lang.Byte> m)
nextPlayer
public byte nextPlayer()
- Overrides:
nextPlayer in class AbstractRegularGame<Pair<java.lang.Byte,java.lang.Byte>>
evalState
public int evalState(byte player)
steineZaehlen
public int steineZaehlen(java.util.List<Pair<java.lang.Integer,java.lang.Integer>> liste,
byte player)
moves
public java.util.List<Pair<java.lang.Byte,java.lang.Byte>> moves()
getMovesCurrent
public java.util.List<Pair<java.lang.Byte,java.lang.Byte>> getMovesCurrent()
getMovesOpponent
public java.util.List<Pair<java.lang.Byte,java.lang.Byte>> getMovesOpponent()
moves
public java.util.List<Pair<java.lang.Byte,java.lang.Byte>> moves(byte spieler)
feldSchliesstGegnerEin
public java.util.List<Pair<Pair<java.lang.Integer,java.lang.Integer>,java.lang.Integer>> feldSchliesstGegnerEin(int x,
int y,
byte spieler)
noMoreMove
public boolean noMoreMove()
wins
public boolean wins(byte player)
isLegalMove
public java.lang.Boolean isLegalMove(Pair<java.lang.Byte,java.lang.Byte> move)
- Specified by:
isLegalMove in interface PerfectInformationGame<Pair<java.lang.Byte,java.lang.Byte>>- Specified by:
isLegalMove in interface RegularGame<Pair<java.lang.Byte,java.lang.Byte>>- Specified by:
isLegalMove in class AbstractRegularGame<Pair<java.lang.Byte,java.lang.Byte>>
toString
public java.lang.String toString()
- Overrides:
toString in class java.lang.Object
getMovesDone
public java.lang.Integer getMovesDone()
getCurrentPlayersNumberOfStones
public java.lang.Integer getCurrentPlayersNumberOfStones()
getOpponentsNumberOfStones
public java.lang.Integer getOpponentsNumberOfStones()