All posts by Albert Zündorf

Software Engineering I

Als kleine Hilfe zum Verständnis des Datenmodells auf dem Server eine kurze Erklärung zu den Verbindungen zwischen den Feldern:

Jedes Feld ist auf dem Server ein Objekt des Typs “Field”.
Die Verbindung zwischen drei Feldern, also die Stelle an der bspw. Siedlungen gebaut werden, werden bei uns über ein Objekt des Typs “Intersection” abgebildet. Ein solche Objekt kennt über die “fields”-Referenz die drei angrenzenden Felder.
Die Verbindung zwischen zwei Feldern, also die Stelle an der Straßen gebaut werden, werden bei uns über zwei Objekte des Typs “Border” abgebildet. Für jedes Feld existiert ein eigenes Border-Objekt. Zusammengehörige Objekte werden über die bidirektionale Assoziation “connectedTo” verknüpft.
Die gerade beschriebene Struktur ist auch in folgendem Bild noch einmal visualisiert.

Siedler

Design Patterns, SS13

DPSS13_HA_7.pdf

Die Abgabe muss bis spätestens Montag, den 10.06.2013 um 23:59 Uhr über unser Hausaufgabenabgabesystem
http://seblog.cs.uni-kassel.de/dpss13/ erfolgen. Die Abgabe ist nur als einzelne *.zip
oder *.jar-Datei möglich. Daher müssen alle für eine Abgabe relevanten Daten zu einem
solchen Archiv kombiniert werden.

Screencast Musterlösung zu Hausaufgabe 6 und Vorstellung der Hausaufgabe 7:
DPSS13_UE7.html
Nochmal als MP4: DPSS13_UE7.mp4

Bei Fragen: george@uni-kassel.de, stefan.lindel@cs.uni-kassel.de

Software Engineering I, SS13

Eine dem vorgegebenen Format entsprechende Karte, ist unter Balanced zu finden. Die dazu passende Karte findet ihr auch hier auf Seite 2.

HINWEIS: Um sicherzustellen, dass eure selbst erstellten Karten auch mit unserem Server kompatibel sind, solltet ihr euch genau an das vorgegebene Format halten.

Die einzelnen Fragmente haben folgende Bedeutung:

### 
### BALANCED
###

Hier wird der Name der Karte spezifiziert.

# VERSION
VERSION: 1

Hier wird die Version der Karte bestimmt.

# OWNER
OWNER: SE

Hier ist der Besitzer der Karte zu finden (Team).

 

Um die einzelnen Felder des Spielfeldes zu spezifizieren, müssen sie zeilenweise nach folgendem Muster aufgeführt werden:

# {id};{type};{rotation};({direction},{id};)+

Mit folgendem Beispiel werden die einzelnen Bestandteile erklärt:

1;WATER;0;SE,3;S,5;SW,2;
  • 1 ist die {id} des Feldes. Jedes Feld muss eine eigene ID besitzen. Ob diese aus einer oder mehrerer Zahlen oder Buchstaben besteht ist hierbei freigestellt. Sonderzeichen sind nicht erlaubt. Im Anschluss an die {id} muss ein ; folgen.
  • WATER ist der Typ des Feldes. Im Anschluss an den {type} muss ein ; folgen. Folgende Typen sind zulässig:
    • PASTURE
    • HILL
    • MOUNTAIN
    • FIELD
    • FOREST
    • DESERT
    • WATER
    • PORT_3TO1
    • PORT_LUMBER
    • PORT_ORE
    • PORT_BRICK
    • PORT_WOOL
    • PORT_GRAIN
    • BARBARIAN_START
    • BARBARIAN_END
  •  0 ist die Drehung des Feldes. Dieser Wert ist ausschließlich bei den verschiedenen Häfen und bei den Feldern des Barbaren relevant. Bei allen übrigen sollte dieser Wert auf 0 gesetzt werden.
  • S,5;SW,2; beschreibt die Nachbarn dieses Feldes. Dazu werden komma-separierte Paare von Himmelsrichtung und {id} des dort anliegenden Feldes mittels ; voneinander getrennt.
    • Erlaubte Himmelsrichtungen: N, NW, SW, S, SE, NR
    • Felder müssen immer gegenseitig aufeinander Verweisen um eine valide Karte zu ergeben, d.h. in der Definition für das Feld mit der {id} 5, muss bei den Nachbarn N,1 aufgeführt werden.
Design Patterns, SS13

Die Version ist nun durch die überarbeitete ersetzt:

Wir haben noch einen Status hinzugefügt. Player steht auf dem Target

 
DPSS13_HA_6.pdf

Die Abgabe muss bis spätestens Montag, den 03.06.2013 um 23:59 Uhr über unser Hausaufgabenabgabesystem
http://seblog.cs.uni-kassel.de/dpss13/ erfolgen. Die Abgabe ist nur als einzelne *.zip
oder *.jar-Datei möglich. Daher müssen alle für eine Abgabe relevanten Daten zu einem
solchen Archiv kombiniert werden.

Screencast Musterlösung zu Hausaufgabe 5 und Vorstellung der Hausaufgabe 6:
DPSS13_UE6.html
Nochmal als MP4: DPSS13_UE6.mp4

Bei Fragen: george@uni-kassel.de, stefan.lindel@cs.uni-kassel.de