public interface GameBoard
GameBoard
stellt für Implementierungen von
ReversiPlayer
die Schnittstelle zum Spielbrett dar. Zudem
definiert es die (int) Konstanten GameBoard.RED, GameBoard.GREEN und
GameBoard.EMPTY.Modifier and Type | Field and Description |
---|---|
static int |
EMPTY
Diese Konstante symbolisiert eine leere Position auf dem Spielfeld.
|
static int |
GREEN
Diese Konstante symbolisiert einen grünen Stein auf dem Spielfeld.
|
static int |
RED
Diese Konstante symbolisiert einen roten Stein auf dem Spielfeld.
|
Modifier and Type | Method and Description |
---|---|
boolean |
checkMove(int player,
Coordinates coord)
Diese Methode überprüft ob der Spieler
player an die Position
coord setzen dürfte. |
GameBoard |
clone()
Legt eine Kopie des Spielbretts an.
|
int |
countStones(int player)
Zählt die Anzahl der Steine für einen gegebenen Spieler.
|
int |
getOccupation(Coordinates coord)
Gibt die Belegung einer Position auf dem Spielfeld zurück
|
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 coord)
Diese Methode setzt einen Stein für den angegebenen Spieler auf dem
angegebenen Feld, und dreht Steine des Gegners gemäss den Regeln um.
|
boolean |
validCoordinates(Coordinates coord)
Checks if the
Coordinates are valid |
static final int EMPTY
static final int GREEN
static final int RED
boolean checkMove(int player, Coordinates coord)
player
an die Position
coord
setzen dürfte.player
- der Spieler, entweder GameBoard.RED
or
GameBoard.GREEN
.coord
- die Koordinaten, die überprüft werden sollen.true
, wenn Zug gültig, false> sonst.
GameBoard clone()
int countStones(int player)
player
- die Spielerfarbeint getOccupation(Coordinates coord) throws OutOfBoundsException
coord
- Ein Coordinates-Objekt, welches die Position auf dem Spielfeld
spezifiziert.RED
, GREEN
und EMPTY
.OutOfBoundsException
- Wird ausgelöst, wenn coord
eine ungültige Position beschreibt.
Gültige Werte sind: 1 <= row, col <= getSize()
.int getSize()
boolean isFull()
boolean isMoveAvailable(int player)
true
zurück, wenn ein gültiger Zug für den
übergebenen Spieler existiert.void makeMove(int player, Coordinates coord)
checkMove
mit dem selben Parametern erfolgen.player
- der Spieler für den ein Stein gesetzt werden soll, entweder
GameBoard.RED oder GameBoard.GREENcoord
- Koordinaten, wo der Stein gesetzt werden solljava.lang.IllegalStateException
- falls vor dem Aufruf von makeMove
kein
Aufruf von checkMove
mit dem selben Spieler
und der selben Position erfolgt ist.boolean validCoordinates(Coordinates coord)
Coordinates
are validcoord
- the coordinates in questiongetSize()
.