|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectreversi.TextGameBoard
public class TextGameBoard
Implementation eines Reversi-Spielbretts inklusive nützlicher Hilfsfunktionen.
Arena| Field Summary |
|---|
| Fields inherited from interface reversi.GameBoard |
|---|
EMPTY, GREEN, RED |
| Constructor Summary | |
|---|---|
TextGameBoard()
Erstellt eine neue Instanz von TextGameBoard, initialisiert mit der bei Reversi üblichen Startsituation aus 4 Steinen. |
|
TextGameBoard(GameBoard gb)
Erstellt eine neue Instanz von TextGameBoard, die eine genaue Kopie der übergebenen Spielsituation gb repräsentiert. |
|
| Method Summary | |
|---|---|
boolean |
checkMove(int player,
Coordinates c)
Diese Methode überprüft ob der Zug c einen gültigen Zug
für den Spieler player darstellt. |
int |
countStones(int player)
Zählt die Anzahl der Steine für einen gegebenen Spieler. |
int |
getPosition(Coordinates c)
Ermöglicht es, ein Feld der in dieser Instanz gespeicherten Spielsituation abzufragen. |
int |
getSize()
Gibt die Ausdehnung des Spielfeldes zurück. |
boolean |
isFull()
Überprüft, ob das Spielfeld voll ist. |
boolean |
isMoveAvailable(int player)
Gibt true zurück, wenn ein gültiger Zug für den
übergebenen Spieler existiert. |
void |
makeMove(int player,
Coordinates c)
Diese Methode setzt einen Stein für den angegebenen Spieler auf dem angegebenen Feld, und dreht Steine des Gegners gemäss den Regeln um. |
String |
toString()
Erstellt einen mehrzeiligen String, der eine Textdarstellung der in dieser Instanz gespeicherten Spielsituation enthält. |
void |
updateBoard(GameBoard gb)
Kopiert die als Parameter übergebene Spielsituation in die aktuelle Instanz. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public TextGameBoard()
public TextGameBoard(GameBoard gb)
gb repräsentiert.
gb - eine gegebene Spielsituation| Method Detail |
|---|
public int getSize()
GameBoard
getSize in interface GameBoardpublic void updateBoard(GameBoard gb)
public int getPosition(Coordinates c)
throws OutOfBoundsException
getPosition in interface GameBoardc - die Koordinaten des Spielfelds, welches abgefragt wird.
OutOfBoundsException - wenn sich die in c angegebenen Koordinaten
ausserhalb des Spielfelds befindenpublic boolean isMoveAvailable(int player)
true zurück, wenn ein gültiger Zug für den
übergebenen Spieler existiert.
player - Spezifiziert den Spieler (entweder GameBoard.RED oder
GameBoard.GREEN), für den überprüft werden soll.
True falls ein gültiger Zug existiert,
false sonst.
public boolean checkMove(int player,
Coordinates c)
c einen gültigen Zug
für den Spieler player darstellt.
player - der Spieler, entweder GameBoard.RED or
GameBoard.GREEN.c - die Koordinaten, die überprüft werden sollen.
true, wenn Zug gültig
public void makeMove(int player,
Coordinates c)
TextGameBoard muss einem Aufruf von makeMove
immer ein Aufruf von checkMove mit den gleichen
Koordinaten vorausgehen. Nachfolgend ein Beispiel:
public Coordinates nextMove( GameBoard gb ) {
// ...
TextGameBoard tgb=new TextGameBoard(gb);
Coordinates c=new Coordinates(3,4);
if(tgb.checkMove(GameBoard.GREEN,c)) {
tgb.makeMove(GameBoard.GREEN,c);
}
TextGameBoard: In makeMove können
Berechnungsschritte eingespart werden, die in checkMove
schon gemacht worden sind, allerdings nur, wenn sich die Aufrufe auf das
gleiche Spielfeld beziehen (wie z.B. oben auf das Spielfeld
c).
player - der Spieler für den ein Stein gesetzt werden soll, entweder
GameBoard.RED oder GameBoard.GREENc - Koordinaten, wo der Stein gesetzt werden soll
UnsupportedMethodInvocationException - falls vor dem Aufruf von makeMove kein
entsprechender Aufruf checkMove erfolgt istpublic boolean isFull()
public int countStones(int player)
player - der Spieler
public String toString()
toString in class Object
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||