Tag Archives: CreepSmash

Software Engineering I, SS12

Der Termin für unser SE 1 Abschlussturnier steht fest:

Wann: Montag den 03.09.2012 ab 13 Uhr
Wo: SE Labor

Für das Turnier haben wir folgende Karten ausgewählt:

map_asteroid
map_fastlane
map_raceways
map_summer

In welcher Reihenfolge die Karten gespielt werden, wird am Turniertag bekannt gegeben. Stellt sicher, dass eure KI’s und Clients mit diesen Karten keine Probleme haben!

Software Engineering I, SS12

Hi Leute,

soeben ist v1.0.3 des CreepSmash Servers online gegangen. Neben kleineren Bugfixes, hier die wichtigsten Änderungen im Überblick:

  • Maps haben nun auch ein Versionsfeld. Hierdurch können die Eigentümer (=Teams) neue Versionen ihrer Karten hochladen. Die Versionsnummer ist eine einfache Zahl, die immer um 1 erhöht werden sollte.
  • Die Ausgabe von LIST MAPS wurde um ein Versionsfeld erweitert:
     MAP NAME=map_stairsvector CREATOR=SE VERSION=1
  • Das vom Server unterstützte Kartenformat wurde leicht geändert. Hinzugekommen sind folgende Felder:
    # VERSION
    VERSION: 1
    # OWNER
    OWNER: SE

    Das OWNER Feld kann natürlich nicht selbst gesetzt werden und wird daher beim upload ignoriert. Es wird vom Server automatisch bei erfolgreichem Upload anhand der Logindaten bestimmt.

Die Beschreibung des Kartenformats wurde entsprechend angepasst. Falls es zu Problemen kommen sollte, konsultiert bitte die Google Group.

Software Engineering I, SS12

Der CreepSmash Server versteht mehrere Derivate des JSON Protkolls. Zwei kurze Beispiele welche Syntax unserer Server versteht:

1.) In dieser Syntax sind alle unsere Beispiele in der Erklärung unserer Befehle aufgeführt.

{"@action":"CREATE_TOWER",
"properties":{
"entry":{
"key":"towertype",
"value":"ROCKET"},
"entry":{
"key":"cell",
"value":"Cell@d54a23"
}}}

2.) Diese Syntax versteht der Server ebenfalls:

{"@action":"CREATE_TOWER",
"properties":{
"entry":[
{
"key":"towertype",
"value":"ROCKET"
},
{
"key":"cell",
"value":"Cell@d54a23"
}]}}

Beide Beispiele führen den gleichen Befehl aus und resultieren im gleichen Ergebnis. Zumindest die zweite Syntax sollte mit den üblichen JSON-Bibliotheken erzeugbar sein.

Wichtig:

Erfolgreiche JSON-Befehle resultieren nicht in einem OK oder einer vergleichbaren Bestätigung. Nur wenn dieser Befehl Veränderungen im Modell bewirkt, werden diese Änderungsevents an euch gesendet.