public class GameState
extends TwoPlayerGameState
Der aktuelle Spielstand.
Er hält alle Informationen zur momentanen Runde, mit deren Hilfe der nächste Zug berechnet werden kann.
@JvmOverloads public GameState(@NotNull Player first, @NotNull Player second, @NotNull PieceShape startPiece, @NotNull Board board, int turn, @Nullable Move lastMove, @NotNull java.util.HashMap<sc.plugin2021.Color,java.lang.Boolean> lastMoveMono, @NotNull java.util.LinkedHashSet<sc.plugin2021.PieceShape> blueShapes, @NotNull java.util.LinkedHashSet<sc.plugin2021.PieceShape> yellowShapes, @NotNull java.util.LinkedHashSet<sc.plugin2021.PieceShape> redShapes, @NotNull java.util.LinkedHashSet<sc.plugin2021.PieceShape> greenShapes, @NotNull java.util.ArrayList<sc.plugin2021.Color> validColors)
Der aktuelle Spielstand.
Er hält alle Informationen zur momentanen Runde, mit deren Hilfe der nächste Zug berechnet werden kann.
first
- Das erste Team, @see enum Team
.second
- Das zweite Team, @see enum Team
.startPiece
- Der Spielstein, der in der ersten Runde gesetzt werden muss.board
- Das aktuelle Spielfeld.lastMove
- Der zuletzt gespielte Zug.lastMoveMono
- Speichert für jede Farbe, die alle Steine gelegt hat, ob das Monomino zuletzt gelegt wurde.@JvmOverloads public GameState(@NotNull Player first, @NotNull Player second, @NotNull PieceShape startPiece, @NotNull Board board, int turn, @Nullable Move lastMove, @NotNull java.util.HashMap<sc.plugin2021.Color,java.lang.Boolean> lastMoveMono, @NotNull java.util.LinkedHashSet<sc.plugin2021.PieceShape> blueShapes, @NotNull java.util.LinkedHashSet<sc.plugin2021.PieceShape> yellowShapes, @NotNull java.util.LinkedHashSet<sc.plugin2021.PieceShape> redShapes, @NotNull java.util.LinkedHashSet<sc.plugin2021.PieceShape> greenShapes)
Der aktuelle Spielstand.
Er hält alle Informationen zur momentanen Runde, mit deren Hilfe der nächste Zug berechnet werden kann.
first
- Das erste Team, @see enum Team
.second
- Das zweite Team, @see enum Team
.startPiece
- Der Spielstein, der in der ersten Runde gesetzt werden muss.board
- Das aktuelle Spielfeld.lastMove
- Der zuletzt gespielte Zug.lastMoveMono
- Speichert für jede Farbe, die alle Steine gelegt hat, ob das Monomino zuletzt gelegt wurde.@JvmOverloads public GameState(@NotNull Player first, @NotNull Player second, @NotNull PieceShape startPiece, @NotNull Board board, int turn, @Nullable Move lastMove, @NotNull java.util.HashMap<sc.plugin2021.Color,java.lang.Boolean> lastMoveMono, @NotNull java.util.LinkedHashSet<sc.plugin2021.PieceShape> blueShapes, @NotNull java.util.LinkedHashSet<sc.plugin2021.PieceShape> yellowShapes, @NotNull java.util.LinkedHashSet<sc.plugin2021.PieceShape> redShapes)
Der aktuelle Spielstand.
Er hält alle Informationen zur momentanen Runde, mit deren Hilfe der nächste Zug berechnet werden kann.
first
- Das erste Team, @see enum Team
.second
- Das zweite Team, @see enum Team
.startPiece
- Der Spielstein, der in der ersten Runde gesetzt werden muss.board
- Das aktuelle Spielfeld.lastMove
- Der zuletzt gespielte Zug.lastMoveMono
- Speichert für jede Farbe, die alle Steine gelegt hat, ob das Monomino zuletzt gelegt wurde.@JvmOverloads public GameState(@NotNull Player first, @NotNull Player second, @NotNull PieceShape startPiece, @NotNull Board board, int turn, @Nullable Move lastMove, @NotNull java.util.HashMap<sc.plugin2021.Color,java.lang.Boolean> lastMoveMono, @NotNull java.util.LinkedHashSet<sc.plugin2021.PieceShape> blueShapes, @NotNull java.util.LinkedHashSet<sc.plugin2021.PieceShape> yellowShapes)
Der aktuelle Spielstand.
Er hält alle Informationen zur momentanen Runde, mit deren Hilfe der nächste Zug berechnet werden kann.
first
- Das erste Team, @see enum Team
.second
- Das zweite Team, @see enum Team
.startPiece
- Der Spielstein, der in der ersten Runde gesetzt werden muss.board
- Das aktuelle Spielfeld.lastMove
- Der zuletzt gespielte Zug.lastMoveMono
- Speichert für jede Farbe, die alle Steine gelegt hat, ob das Monomino zuletzt gelegt wurde.@JvmOverloads public GameState(@NotNull Player first, @NotNull Player second, @NotNull PieceShape startPiece, @NotNull Board board, int turn, @Nullable Move lastMove, @NotNull java.util.HashMap<sc.plugin2021.Color,java.lang.Boolean> lastMoveMono, @NotNull java.util.LinkedHashSet<sc.plugin2021.PieceShape> blueShapes)
Der aktuelle Spielstand.
Er hält alle Informationen zur momentanen Runde, mit deren Hilfe der nächste Zug berechnet werden kann.
first
- Das erste Team, @see enum Team
.second
- Das zweite Team, @see enum Team
.startPiece
- Der Spielstein, der in der ersten Runde gesetzt werden muss.board
- Das aktuelle Spielfeld.lastMove
- Der zuletzt gespielte Zug.lastMoveMono
- Speichert für jede Farbe, die alle Steine gelegt hat, ob das Monomino zuletzt gelegt wurde.@JvmOverloads public GameState(@NotNull Player first, @NotNull Player second, @NotNull PieceShape startPiece, @NotNull Board board, int turn, @Nullable Move lastMove, @NotNull java.util.HashMap<sc.plugin2021.Color,java.lang.Boolean> lastMoveMono)
Der aktuelle Spielstand.
Er hält alle Informationen zur momentanen Runde, mit deren Hilfe der nächste Zug berechnet werden kann.
first
- Das erste Team, @see enum Team
.second
- Das zweite Team, @see enum Team
.startPiece
- Der Spielstein, der in der ersten Runde gesetzt werden muss.board
- Das aktuelle Spielfeld.lastMove
- Der zuletzt gespielte Zug.lastMoveMono
- Speichert für jede Farbe, die alle Steine gelegt hat, ob das Monomino zuletzt gelegt wurde.@JvmOverloads public GameState(@NotNull Player first, @NotNull Player second, @NotNull PieceShape startPiece, @NotNull Board board, int turn, @Nullable Move lastMove)
Der aktuelle Spielstand.
Er hält alle Informationen zur momentanen Runde, mit deren Hilfe der nächste Zug berechnet werden kann.
@JvmOverloads public GameState(@NotNull Player first, @NotNull Player second, @NotNull PieceShape startPiece, @NotNull Board board, int turn)
Der aktuelle Spielstand.
Er hält alle Informationen zur momentanen Runde, mit deren Hilfe der nächste Zug berechnet werden kann.
@JvmOverloads public GameState(@NotNull Player first, @NotNull Player second, @NotNull PieceShape startPiece, @NotNull Board board)
Der aktuelle Spielstand.
Er hält alle Informationen zur momentanen Runde, mit deren Hilfe der nächste Zug berechnet werden kann.
@JvmOverloads public GameState(@NotNull Player first, @NotNull Player second, @NotNull PieceShape startPiece)
Der aktuelle Spielstand.
Er hält alle Informationen zur momentanen Runde, mit deren Hilfe der nächste Zug berechnet werden kann.
@JvmOverloads public GameState(@NotNull Player first, @NotNull Player second)
Der aktuelle Spielstand.
Er hält alle Informationen zur momentanen Runde, mit deren Hilfe der nächste Zug berechnet werden kann.
@JvmOverloads public GameState(@NotNull Player first)
Der aktuelle Spielstand.
Er hält alle Informationen zur momentanen Runde, mit deren Hilfe der nächste Zug berechnet werden kann.
first
- Das erste Team, @see enum Team
.@JvmOverloads public GameState()
Der aktuelle Spielstand.
Er hält alle Informationen zur momentanen Runde, mit deren Hilfe der nächste Zug berechnet werden kann.
public GameState(@NotNull GameState other)
@NotNull public java.util.Collection<sc.plugin2021.PieceShape> undeployedPieceShapes(@NotNull Color color)
enum Color
gesetzten Steine.public boolean removeUndeployedPiece(@NotNull Piece piece)
public int roundFromTurn(int turn)
public int getTurn()
Die Anzahl an bereits getätigten Zügen.
public int getRound()
Die Rundenzahl.
@NotNull public Team getCurrentTeam()
Das Team, das am Zug ist.
@NotNull public Player getCurrentPlayer()
Der Spieler, der am Zug ist.
@NotNull public java.util.List<sc.plugin2021.Color> getOrderedColors()
Liste aller Farben in ihrer Zugreihenfolge.
@NotNull public Color getCurrentColor()
Die Farbe, die am Zug ist.
public boolean hasValidColors()
@JvmOverloads public boolean isValidColor(@NotNull Color color)
color
- zu prüfende Farbe, standardmäßig die Farbe am Zug@JvmOverloads public boolean isValidColor()
@JvmOverloads public boolean advance(int turns)
Geht zum Zug der nächsten noch im Spiel befindlichen Farbe über.
turns
- wie viele Züge mindestens weiter gerückt werden soll@JvmOverloads public boolean advance()
Geht zum Zug der nächsten noch im Spiel befindlichen Farbe über.
public void addPlayer(@NotNull Player player)
public int getPointsForPlayer(@NotNull ITeam team)
Berechne die Punkteanzahl für das gegebene Team.
@NotNull public GameState clone()
public boolean equals(@Nullable java.lang.Object other)
public int hashCode()
@NotNull public java.lang.String toString()
@NotNull public java.lang.String longString()
@NotNull public PieceShape getStartPiece()
Der Spielstein,
der in der ersten Runde gesetzt werden muss.
@NotNull public Board getBoard()
Das aktuelle Spielfeld.
@Nullable public Move getLastMove()
Der zuletzt gespielte Zug.
public void setLastMove(@Nullable Move p)
Der zuletzt gespielte Zug.
p
- Der zuletzt gespielte Zug.@NotNull public java.util.HashMap<sc.plugin2021.Color,java.lang.Boolean> getLastMoveMono()
Speichert für jede Farbe,
die alle Steine gelegt hat, ob das Monomino zuletzt gelegt wurde.