Spielstatus
Es folgt die Beschreibung des Spielstatus, der vor jeder Zugaufforderung an die Clients gesendet wird. Das Spielstatus-Tag ist dabei noch in einem data-Tag der Klasse memento gewrappt:
memento
-
ROOM_ID
Id des GameRooms -
STATUS
Gamestate wie in Status
Status
-
Z
aktuelle Zugzahl -
R
aktuelle Rundenzahl -
P
Spielstein, der in der ersten Runde gelegt werden muss, siehe ??? -
T
Team, welches beginnt (ONE
,TWO
) -
board
Das Spielbrett, wie in Spielbrett definiert -
blueShapes
,yellowShapes
,redShapes
,greenShapes
Noch nicht gesetzte Spielsteine, siehe Nicht gesetzte Spielsteine -
lastMoveMono
beschreibt, wenn eine Farbe alle Steine gelegt hat, ob der Mono-Stein als letztes gelegt wurde -
validColors
alle Farben, die noch im Spiel sind -
first
Name und auch Team des ersten Spielers. -
second
Name und auch Team des zweiten Spielers. -
lastMove
der zuletzt ausgeführte Zug, siehe Vorheriger Zug
Spielbrett
-
X
X-Koordinate -
Y
Y-Koordinate -
CONTENT
Farbe des Spielsteins, der dieses Feld überdeckt (BLUE
,YELLOW
,RED
,GREEN
)
<board>
enthaelt <field>
Tags für alle Felder, die bereits belegt
sind. Leere Felder kommen nicht vor. Grundsätzlich besteht das
Spielbrett aber immer aus 20x20 Feldern, wobei das Feld links oben die
X- und Y-Koordinate 0 hat und die positive X-Achste nach rechts und die
positive Y-Achse nach unten verläuft.
Nicht gesetzte Spielsteine
Die nicht gesetzten Steine werden durch <shape>
Tags in einem
<blueShapes>
, <yellowShapes>
, <redShapes>
und <greenShapes>
Tag
dargestellt.
Letzter Stein
Jede Farbe, die alle Steine gesetzt hat, bekommt einen <entry>
Tag.
Dieser beschreibt fuer die Farbe im <color>
Tag als <boolean>
, ob
der Mono Stein als letztes gesetzt wurde.
Farben im Spiel
Alle Farben, die noch Züge durchführen können, werden durch <color>
Tags dargestellt.
Erster Spieler
Der erste Spieler wird wird mit dem Tag <first>
beschrieben. Das
Attribut "displayName" beinhaltet den Spielernamen des ersten Spielers.
Der untergeordnete Tag <color>
hält entweder den Wert ONE
oder
TWO
. Hier ist dies ONE
, also macht der erste Spieler den ersten Zug.
Zweiter Spieler
Dieser Tag beschreibt den zweiten Spieler. Die Struktur ist wie bei Erster Spieler.
Vorheriger Zug
Der vorherige Zug hat die selbe Struktur wie ein ???, der
gesendet wird, ausser dass das Tag <lastMove>
und nicht <data>
heisst. Der vorherige Zug wird in jedem Spielstatus angegeben, ausser
vor dem ersten Zug.
Beispiel kompletter Spielstatus
Hier ist das XML eines kompletten beispielhaften Spielstatus, wie es der Computerspieler vom Server bekommt: