Software-Challenge Dokumentation

Methodendokumentation - GameState und Board

Inhaltsverzeichnis

GameState (Spielstand)

Der gameState enthält alle wichtigen Parameter, die für Berechnungen benötigt werden. Auf ihm können verschiedene Methoden aufgerufen werden, um diese Parameter abzurufen.


getLastMove()

Gibt den letzten Zug des Gegners zurück.

  • Rückgabetyp: Move
.getLastMove()

Das ganze Konstrukt:

gameState.getLastMove()

Hier ein Code-Beispiel:

Move lastMove = gameState.getLastMove();

getCurrentTeam()

Gibt das Team zurück, das gerade am Zug ist.

  • Rückgabetyp: Team
.getCurrentTeam()

Das ganze Konstrukt:

gameState.getCurrentTeam()

Hier ein Code-Beispiel:

Team currentTeam = gameState.getCurrentTeam();

getOtherTeam()

Gibt das Team zurück, das gerade nicht am Zug ist.

  • Rückgabetyp: Team
.getOtherTeam()

Das ganze Konstrukt:

gameState.getOtherTeam()

Hier ein Code-Beispiel:

Team otherTeam = gameState.getOtherTeam();

getTurn()

Gibt die aktuelle Runde zurück.

  • Rückgabetyp: int
.getTurn()

Das ganze Konstrukt:

gameState.getTurn()

Hier ein Code-Beispiel:

int currentTurn = gameState.getTurn();

getPointsForTeam(Team)

Gibt die Punkte für das angegebene Team zurück.

  • Rückgabetyp: int
.getPointsForTeam(Team team)

Das ganze Konstrukt:

gameState.getPointsForTeam(team)

Hier ein Code-Beispiel:

int teamPoints = gameState.getPointsForTeam(blueTeam);

getSensibleMoves()

Gibt alle möglichen Züge für das aktuelle Team zurück.

  • Rückgabetyp: List<Move>
.getSensibleMoves()

Das ganze Konstrukt:

gameState.getSensibleMoves()

Hier ein Code-Beispiel:

List<Move> possibleMoves = gameState.getSensibleMoves();

clone()

Erstellt eine tiefe Kopie des Spielstands.

  • Rückgabetyp: GameState
.clone()

Das ganze Konstrukt:

gameState.clone()

Hier ein Code-Beispiel:

GameState copiedState = gameState.clone();

performMove(Move)

Führt einen ausgewählten Zug aus und gibt einen neuen Spielstand zurück.

  • Rückgabetyp: GameState
.performMove(Move move)

Das ganze Konstrukt:

gameState.performMove(move)

Hier ein Code-Beispiel:

GameState newState = gameState.performMove(selectedMove);

performMoveDirectly(Move)

Führt einen ausgewählten Zug aus und verändert dabei den aktuellen Spielstand.

  • Rückgabetyp: void
.performMoveDirectly(Move move)

Das ganze Konstrukt:

gameState.performMoveDirectly(move)

Hier ein Code-Beispiel:

gameState.performMoveDirectly(selectedMove);

Board-Methoden (über getBoard() erreichbar)

getBoard()

Gibt das Spielfeld aus dem Spielstand zurück.

  • Rückgabetyp: Board
.getBoard()

Das ganze Konstrukt:

gameState.getBoard()

Hier ein Code-Beispiel:

Board currentBoard = gameState.getBoard();

getTeam(Coordinates)

Gibt das Team zurück, zu dem der Fisch an den gegebenen Koordinaten gehört.

  • Rückgabetyp: Team
.getTeam(Coordinates coords)

Das ganze Konstrukt:

gameState.getBoard().getTeam(coords)

Hier ein Code-Beispiel:

Team fishTeam = gameState.getBoard().getTeam(coordinates);

get(x, y) / get(Coordinates) / get(Object Key)

Gibt den Status des Feldes an der angegebenen Position zurück (z.B. leer, Blue3 usw.).

  • Rückgabetyp: FieldState
.get(int x, int y)
.get(Coordinates coords)
.get(Object key)

Das ganze Konstrukt:

gameState.getBoard().get(x, y)
gameState.getBoard().get(coords)
gameState.getBoard().get(key)

Hier ein Code-Beispiel:

FieldState fieldStatus = gameState.getBoard().get(2, 3);

clone() (für Board)

Erstellt eine Kopie des Boards.

  • Rückgabetyp: Board
.clone()

Das ganze Konstrukt:

gameState.getBoard().clone()

Hier ein Code-Beispiel:

Board copiedBoard = gameState.getBoard().clone();

fieldsForTeam(Team)

Gibt eine Map mit den Koordinaten der Fische des angegebenen Teams und deren Punktwerten zurück.

  • Rückgabetyp: Map<Coordinates, Integer>
.fieldsForTeam(Team team)

Das ganze Konstrukt:

gameState.getBoard().fieldsForTeam(team)

Hier ein Code-Beispiel:

Map<Coordinates, Integer> teamFields = gameState.getBoard().fieldsForTeam(redTeam);

Teilbare URL erstellen

Abschnitte auswählen