|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectmuehle.logic.Playground
public class Playground
Die Klasse Playground stellt ein logisches Spielfeld dar. Auf ihm wird die Spielsituation festgehalten und Züge ausgeführt und gespeichert.
Field Summary | |
---|---|
(package private) java.util.ArrayList |
actions
speichert die durchgeführten Züge beider Spieler auf dem Spielfeld |
(package private) java.util.BitSet[] |
stones
speichert die Steinanordnung auf dem Spielfeld in einem BitSet-Array [0] beinhaltet das BitSet (die gesetzten Steine) von Weiss [1] beinhaltet das BitSet (die gesetzten Steine) von Schwarz |
(package private) int[][] |
zobristTable
speichert die Zobristkeys zum Generieren des Hashcode in einem 2D Array entsprechend der stones Struktur. |
Constructor Summary | |
---|---|
Playground()
Standard-Konstruktor. |
Method Summary | |
---|---|
void |
appendAction(Action action)
Fügt eine Aktion dem Aktionsspeicher hinzu |
int[] |
countMuehlen(Player p)
Zählt die offenen und geschlossenen Mühlene eines Spielers auf dem Spielfeld |
boolean |
equals(java.lang.Object o)
Überprüft 2 Playgrounds auf Gleichheit |
boolean |
execute(Action action)
Führt eine beliebige Action auf dem Spielfeld aus. |
boolean |
execute(DeleteAction action)
Führt eine beliebige DeleteAction auf dem Spielfeld aus. |
boolean |
execute(MoveAction action)
Führt eine beliebige MoveAction auf dem Spielfeld aus. |
boolean |
execute(SetAction action)
Führt eine beliebige SetAction auf dem Spielfeld aus. |
boolean |
execute(UndoDeleteAction action)
|
boolean |
execute(UndoSetAction action)
|
boolean |
executeProofed(Action action)
Führt eine beliebige LEGALE Action auf dem Spielfeld aus. |
boolean |
executeProofed(DeleteAction action)
Führt eine beliebige LEGALE DeleteAction auf dem Spielfeld aus. |
boolean |
executeProofed(MoveAction action)
Führt eine beliebige LEGALE MoveAction auf dem Spielfeld aus. |
boolean |
executeProofed(SetAction action)
Führt eine beliebige LEGALE SetAction auf dem Spielfeld aus. |
boolean |
executeProofed(UndoDeleteAction action)
|
boolean |
executeProofed(UndoSetAction action)
|
java.util.ArrayList |
getActions()
gibt die gespeicherten Actions zurück |
Playground |
getClone()
Erstellt eine tiefe Kopie des Spielfeldes |
java.util.BitSet |
getFreePositionBitSet()
|
java.util.ArrayList |
getFreePositions()
Liefert einen Vector, der die Positionen der leeren Felder enthält. |
int |
getNumberOfPlayersMoveActions(Player player)
|
java.util.ArrayList |
getPlayersActions(Player player)
Gibt alle im Moment möglichen Actions eines Spielers zurück. |
java.util.ArrayList |
getPlayersFreeStones(Stone s)
Liefert einen Vector, der die Positionen der Steine eines Typs enthält, die sich NICHT in einer Mühle befinden. |
java.util.ArrayList |
getPlayersStones(Stone stone)
Liefert einen Vector, der die Positionen der Steine eines Typs enthält. |
int |
getSituationValue(Stone s)
Gibt das Heuristik-Feature SituationValue zurück Das ist die Anzahl der potentiellen Zugmöglichkeiten, also die Anzahl der Zugmöglichkeiten, wenn alle Nachbarfelder von eigenen Feldern frei wären. |
Stone |
getStone(int p)
Gibt den aktuellen Stein an Position p zurück. |
java.util.BitSet[] |
getStones()
Gibt das BitSet-Array in welchen die Steinbelegung des Playgroundsgespeichert ist zurück |
boolean |
hasActions(Player player)
Gibt zurück, ob eine Spieler Zugmöglichkeiten hat |
boolean |
hasFreeStones(Stone s)
Gibt zurück, ob eine Spieler Steine hat, die sich nicht in einer Mühle befinden |
int |
hashCode()
Generiert einen 32-bit-Hashcode für den aktuellen Playground. |
java.lang.String |
inversTertiaerString()
|
boolean |
isFree(int position)
|
boolean |
isMuehle(Action action)
Gibt zurück, ob eine Mühle durch action geschlossen wurde. |
int |
perfectHashCode()
Liefert einen perfekten eindeutigen 32 Bit - Hashcode für 8 besetzte Felder. |
void |
setStonesFromBitSet(java.util.BitSet[] bitset)
Setzt die Steinbelegung des Playgrounds entsprechend des übergebenen BitSet-Arrays |
java.lang.String |
tertiaerString()
Darstellung des Spielfelds als Tertiär-System 0: Feld leer 1: Weisser Stein 2: Schwarzer Stein |
java.lang.String |
toString()
ASCI-Stringausgabe des Playgrounda |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
java.util.BitSet[] stones
java.util.ArrayList actions
int[][] zobristTable
Constructor Detail |
---|
public Playground()
Method Detail |
---|
public boolean executeProofed(Action action)
action
- Die auszuführende Aktion
public boolean executeProofed(SetAction action)
action
- Die auszuführende SetAtion
public boolean executeProofed(UndoSetAction action)
public boolean executeProofed(DeleteAction action)
action
- Die auszuführende DeleteAction
public boolean executeProofed(UndoDeleteAction action)
public boolean executeProofed(MoveAction action)
action
- Die auszuführende MoveAction
public boolean execute(Action action)
action
- Die auszuführende Aktion
public boolean execute(SetAction action)
action
- Die auszuführende SetAction
public boolean execute(UndoSetAction action)
public boolean execute(DeleteAction action)
action
- Die auszuführende DeleteAction
public boolean execute(UndoDeleteAction action)
public boolean execute(MoveAction action)
action
- Die auszuführende MoveAction
public Stone getStone(int p)
p
- Position, die abgefragt wird
public boolean isFree(int position)
public java.util.ArrayList getPlayersStones(Stone stone)
stone
- Steintyp, dessen Positionen abgefragt werden
public java.util.ArrayList getFreePositions()
stone
- Steintyp, dessen Positionen abgefragt werden
public java.util.BitSet getFreePositionBitSet()
public java.util.ArrayList getPlayersFreeStones(Stone s)
stone
- Steintyp, dessen Positionen abgefragt werden
public boolean hasFreeStones(Stone s)
s
- Steintyp des Spielers, der überprüft wird.
public boolean hasActions(Player player)
player
- Spieler, der auf Zugmöglichkeiten überprüft wird.
public java.util.ArrayList getPlayersActions(Player player)
player
- Spieler, dessern Zugmöglichkeiten abgefragt werden.
public int getNumberOfPlayersMoveActions(Player player)
public boolean isMuehle(Action action)
action
- auf dem Playground bereits ausgeführte Action, die auf Schliessen
einer Mühle geprüft wird.
public Playground getClone()
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String tertiaerString()
public java.lang.String inversTertiaerString()
public void appendAction(Action action)
action
- public java.util.ArrayList getActions()
public int[] countMuehlen(Player p)
p
- Player
public int getSituationValue(Stone s)
s
- Stein für den das Feature abgerufen wird
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
o
- Playground, der auf den aktuellen Playground geprüft werden soll
public int hashCode()
hashCode
in class java.lang.Object
public int perfectHashCode()
public void setStonesFromBitSet(java.util.BitSet[] bitset)
bitset
- public java.util.BitSet[] getStones()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |