Software-Challenge Dokumentation

Methodendokumentation - Alle wichtigen Java Methoden für Piranhas

Hier findest du alle Methoden, die von uns für das aktuelle Spiel zur Verfügung gestellt werden.

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);

GameRuleLogic-Methoden

targetCoordinates(Board, Move)

Gibt die Zielkoordinaten eines Zuges zurück.

  • Rückgabetyp: Coordinates
.targetCoordinates(Board board, Move move)

Das ganze Konstrukt:

GameRuleLogic.targetCoordinates(board, move)

Hier ein Code-Beispiel:

Coordinates target = GameRuleLogic.targetCoordinates(currentBoard, move);

greatestSwarmSize(Board, Team)

Gibt die Größe des größten Teilschwarms des angegebenen Teams zurück.

  • Rückgabetyp: int
.greatestSwarmSize(Board board, Team team)

Das ganze Konstrukt:

GameRuleLogic.greatestSwarmSize(board, team)

Hier ein Code-Beispiel:

int largestSwarmSize = GameRuleLogic.greatestSwarmSize(board, blueTeam);

greatestSwarmSize(Map<Coordinates, Integer>)

Gibt die Größe des größten Teilschwarms basierend auf einer Map von Koordinaten und Werten zurück.

  • Rückgabetyp: int
.greatestSwarmSize(Map<Coordinates, Integer> swarmMap)

Das ganze Konstrukt:

GameRuleLogic.greatestSwarmSize(swarmMap)

Hier ein Code-Beispiel:

int swarmSize = GameRuleLogic.greatestSwarmSize(fishMap);

greatestSwarm(Map<Coordinates, Integer>)

Gibt den größten Teilschwarm als Map zurück.

  • Rückgabetyp: Map<Coordinates, Integer>
.greatestSwarm(Map<Coordinates, Integer> swarmMap)

Das ganze Konstrukt:

GameRuleLogic.greatestSwarm(swarmMap)

Hier ein Code-Beispiel:

Map<Coordinates, Integer> largestSwarm = GameRuleLogic.greatestSwarm(fishMap);

isSwarmConnected(Board, Team)

Überprüft, ob der Schwarm eines Teams vollständig verbunden ist.

  • Rückgabetyp: boolean
.isSwarmConnected(Board board, Team team)

Das ganze Konstrukt:

GameRuleLogic.isSwarmConnected(board, team)

Hier ein Code-Beispiel:

boolean isConnected = GameRuleLogic.isSwarmConnected(board, redTeam);

possibleMovesFor(Board, Coordinates)

Gibt eine Sammlung möglicher Züge für eine gegebene Position zurück.

  • Rückgabetyp: Collection<Move>
.possibleMovesFor(Board board, Coordinates coords)

Das ganze Konstrukt:

GameRuleLogic.possibleMovesFor(board, coords)

Hier ein Code-Beispiel:

Collection<Move> moves = GameRuleLogic.possibleMovesFor(board, position);

FieldState-Methoden

Der FieldState beschreibt den Zustand eines Feldes im Spiel. Es handelt sich um ein Enum, das verschiedene Zustände wie Fische unterschiedlicher Größe und Teams oder leere Felder repräsentiert.


getSize()

Gibt die Größe eines Fisches auf dem Feld zurück. Bei leeren Feldern oder der Krake kann die Rückgabe speziell behandelt werden (z.B. -1 oder 0).

  • Rückgabetyp: int
.getSize()

Das ganze Konstrukt:

fieldState.getSize()

Hier ein Code-Beispiel:

int fishSize = fieldState.getSize();

getTeam()

Gibt die Teamzugehörigkeit eines Fisches auf dem Feld zurück. Bei leeren Feldern oder der Krake wird möglicherweise null oder ein spezieller Wert zurückgegeben.

  • Rückgabetyp: Team
.getTeam()

Das ganze Konstrukt:

fieldState.getTeam()

Hier ein Code-Beispiel:

Team fishTeam = fieldState.getTeam();

isEmpty()

Überprüft, ob das Feld leer ist.

  • Rückgabetyp: boolean
.isEmpty()

Das ganze Konstrukt:

fieldState.isEmpty()

Hier ein Code-Beispiel:

boolean isEmpty = fieldState.isEmpty();

Direction-Methoden

Direction ist ein Enum, das die möglichen Bewegungsrichtungen im Spiel definiert.


getDx() (Direction)

Gibt den Wert für die X-Dimension der Bewegungsrichtung zurück (z.B. -1, 0 oder 1).

  • Rückgabetyp: int
.getDx()

Das ganze Konstrukt:

direction.getDx()

Hier ein Code-Beispiel:

int dx = direction.getDx();

getDy() (Direction)

Gibt den Wert für die Y-Dimension der Bewegungsrichtung zurück (z.B. -1, 0 oder 1).

  • Rückgabetyp: int
.getDy()

Das ganze Konstrukt:

direction.getDy()

Hier ein Code-Beispiel:

int dy = direction.getDy();

getVector()

Gibt den Vektor für eine Richtung zurück.

  • Rückgabetyp: Vector
.getVector()

Das ganze Konstrukt:

direction.getVector()

Hier ein Code-Beispiel:

Vector moveVector = direction.getVector();

equals(Object) (Direction)

Vergleicht die Bewegungsrichtung mit einem anderen Objekt (normalerweise einer anderen Richtung).

  • Rückgabetyp: boolean
.equals(object)

Das ganze Konstrukt:

direction.equals(otherDirection)

Hier ein Code-Beispiel:

boolean areEqual = direction.equals(Direction.UP);

Coordinates-Methoden

Coordinates repräsentiert zweidimensionale Koordinaten auf dem Spielfeld.


getX()

Gibt den Wert der X-Koordinate zurück.

  • Rückgabetyp: int
.getX()

Das ganze Konstrukt:

coordinates.getX()

Hier ein Code-Beispiel:

int x = coordinates.getX();

getY()

Gibt den Wert der Y-Koordinate zurück.

  • Rückgabetyp: int
.getY()

Das ganze Konstrukt:

coordinates.getY()

Hier ein Code-Beispiel:

int y = coordinates.getY();

getNeighbors()

Gibt die Koordinaten aller Nachbarfelder zurück (in einer Collection).

  • Rückgabetyp: Collection<Coordinates>
.getNeighbors()

Das ganze Konstrukt:

coordinates.getNeighbors()

Hier ein Code-Beispiel:

Collection<Coordinates> neighbors = coordinates.getNeighbors();

plus(Vector)

Addiert einen Vektor zu den Koordinaten und gibt das Ergebnis als neue Koordinaten zurück.

  • Rückgabetyp: Coordinates
.plus(vector)

Das ganze Konstrukt:

coordinates.plus(vector)

Hier ein Code-Beispiel:

Coordinates newCoordinates = coordinates.plus(moveVector);

minus(Vector)

Subtrahiert einen Vektor von den Koordinaten und gibt das Ergebnis als neue Koordinaten zurück.

  • Rückgabetyp: Coordinates
.minus(vector)

Das ganze Konstrukt:

coordinates.minus(vector)

Hier ein Code-Beispiel:

Coordinates newCoordinates = coordinates.minus(moveVector);

equals(Object) (Coordinates)

Vergleicht die Koordinaten mit einem anderen Objekt (normalerweise anderen Koordinaten).

  • Rückgabetyp: boolean
.equals(object)

Das ganze Konstrukt:

coordinates.equals(otherCoordinates)

Hier ein Code-Beispiel:

boolean areEqual = coordinates.equals(new Coordinates(2, 3));

Vector-Methoden

Vector repräsentiert eine zweidimensionale Bewegung mit X- und Y-Komponenten.


getDx() (Vector)

Gibt den Wert für die X-Dimension des Vektors zurück.

  • Rückgabetyp: int
.getDx()

Das ganze Konstrukt:

vector.getDx()

Hier ein Code-Beispiel:

int dx = vector.getDx();

getDy() (Vector)

Gibt den Wert für die Y-Dimension des Vektors zurück.

  • Rückgabetyp: int
.getDy()

Das ganze Konstrukt:

vector.getDy()

Hier ein Code-Beispiel:

int dy = vector.getDy();

equals(Object) (Vector)

Vergleicht den Vektor mit einem anderen Objekt (normalerweise einem anderen Vektor).

  • Rückgabetyp: boolean
.equals(object)

Das ganze Konstrukt:

vector.equals(otherVector)

Hier ein Code-Beispiel:

boolean areEqual = vector.equals(new Vector(1, 0));

Teilbare URL erstellen

Abschnitte auswählen