Seite 1 von 1

Wettkampf-Server mit alter ruby gem?

Verfasst: So 12. Mär 2017, 19:06
von wollw
Unser Ruby-Client testet die Gültigkeit eines Zuges gegen die InvalidMoveException, bevor der Zug an den Server gesendet wird.

Insofern sendet er keinen Zug, der diese Exception auslöst.

In der zweiten und sechsten Runde am dritten Spieltag Peter-Ustinov-AG vs Gesamtsch. Gießen Ost 12 ist aber genau das passiert.

Wir haben die Vermutung, dass auf dem Server nicht das aktuelle software-challenge-gem zum Einsatz kommt. Wir hatten diesbezüglich am 10. Dezember einen pull request auf github gesetzt, der zur Version 0.3.1 führte.

Falls am 3. Spieltag nicht mindestens die Version 0.3.1 zum Einsatz kam, bitten wir um Wiederholung der 2. und 6. Runde.

Spielwiederholung der 2. Runde (identischer Fehler in der 6. Runde):
https://webserver.peterustinovschule.de ... 897.xml.gz
log:
https://webserver.peterustinovschule.de ... _04_46.log


Herzliche Grüße

Re: Wettkampf-Server mit alter ruby gem?

Verfasst: Mo 13. Mär 2017, 09:58
von SvenK
Version 0.3.1 des Gem ist seit dem 28.2.2017 in der Wettkampfumgebung installiert, es wurde also auch am betreffenden 3. Spieltag benutzt.

Das Problem war in der perform-Methode der Acceleration-Klasse: https://github.com/CAU-Kiel-Tech-Inf/so ... ion.rb#L51 Wenn dort ein negativer Wert fuer Abbremsen uebergeben wird, laeuft die Schleife zum Verringern der Kohle gar nicht und es wird demnach (faelschlich) auch keine Kohle verbraucht. Dadurch war dann fuer die folgende Drehung noch genug Kohle uebrig und es gab keine InvalidMoveException.

Da diese Disqualifikation auf einen Fehler in unserem Code zurueckzufuehren war und die Beanstandung zeitnah kam, haben wir uns entschlossen, die 2. und 6. Runde der betreffenden Begegnung noch einmal zu spielen.

Ich veroeffentliche gleich eine neue Version des Ruby Gems, in der nur dieser Fehler behoben wurde (Version 0.3.3), installiere sie im Wettkampfsystem und spiele die Runden nochmal. Danach veroeffentliche ich eine weitere Version des Gems (Version 0.3.4) und installiere sie im Wettkampfystem. In dieser Version (0.3.4) ist die Umbenennung des Turn Attributes direction nach turn_steps enthalten, es wird also in nicht angepasstem Client-Code zu Fehlern fuehren. Bitte aktualisiert euren Client fuer den kommenden morgigen Spieltag, falls noetig.

Re: Wettkampf-Server mit alter ruby gem?

Verfasst: Mo 13. Mär 2017, 10:01
von SvenK