software-challenge / backend

Server, Client und Spiel-Plugins der Software-Challenge Germany
https://www.software-challenge.de
11 stars 10 forks source link

[WIP] Rework Wincondition reporting #207

Closed xeruf closed 5 years ago

xeruf commented 5 years ago

Fixes #206 when done

xeruf commented 5 years ago

@SKoschnicke so sieht es jetzt aus: image Ich würde ehrlich gesagt sagen, dass der Server keine strings zurückgeben sollte, sondern codes, die dann von der GUI entsprechend angezeigt werden. Die aktuelle Methode ist imo ziemlicher nonsense.

SKoschnicke commented 5 years ago

Was findest Du daran denn "nonsense"? Das schoene am akutellen Vorgehen ist halt, dass man eine menschenlesbare Nachricht direkt im Replay/Protokoll stehen hat und die Nachrichten nur im Server festgelegt werden muessen. Mit Codes wird das Protokoll schwerer lesbar und jeder Client muss unabhaengig die Codes in Nachrichten uebersetzen (mit den ueblichen Konsistenzproblemen, Versionsunterschieden etc.)

SKoschnicke commented 5 years ago

Hinzu kommt, dass solche Meldungen wie "Der Schwarm des roten Spielers ist groesser." oder sogar "Der Schwarm des roten Spielers (Karl-Marx-Gymnasium 12b) hat 3 Fische mehr." als Code recht schwierig umsetzbar sind. Da muss man entweder eine eigene Datenstruktur fuer definieren oder der Client muss auf einiges an Kontext zurueckgreifen.

SKoschnicke commented 5 years ago

Also vom Prinzip her würde ich es erstmal so lassen (also Strings und keine Codes). Ich bin aber offen für Argumente, die für Codes sprechen.

Ansonsten sollte da nicht "von RED" stehen, sondern "des roten Spielers" oder sogar noch der Name (in diesem Fall also "Der Schwarm von Mensch ist größer." Da dann aber unbedingt noch die Farbe dazu, also letztendlich "Der Schwarm von Mensch (Rot) ist größer.".

Und dann stimmt da noch was nicht beim Encoding. Das ist aber vielleicht ein Problem, was schon laenger besteht und nur jetzt auffaellt, weil wir vorher keine Sonderzeichen im XML hatten, die irgendwie verarbeitet wurden. Also mir faellt da der XML->JSON Konverter der GUI als moegliche Ursache ein.

SKoschnicke commented 5 years ago

Wenn ich die aktuelle Version mit der GUI ausprobiere, ist jedes Spiel sofort zu Ende. Folgendes Vorgehen:

cd socha
git checkout wincondition
cd ..
yarn update-server
yarn start

2019-04-30-123239_1587x1551 2019-04-30-123312_1248x1625

xeruf commented 5 years ago

Ach interessant, bei mir passiert das nicht ^^ sicher dass bei dir nichts noch im Hintergrund lief? Wenn ja, sende mir bitte mal das ganze Log.

SKoschnicke commented 5 years ago

Tritt bei mir immernoch auf. Da ist was seltsames im XML memento (<line>------...). Wie kommt das da rein? Anbei das log.

guilog.zip

SKoschnicke commented 5 years ago

Habe ich nicht. Guter Tipp! Liegt nicht am Branch, passiert beim Master auch. Dann muss ich mal gucken, was das ist...

xeruf commented 5 years ago

Hab den Fehler gefunden. Ein Field im Board wurde von XStream serialisiert und das führte im Client zu einem Protocol Error.

xeruf commented 5 years ago

Gefixed durch 98a5bfe9

SKoschnicke commented 5 years ago

@Xerus2000 machst du den merge bitte? Ich bin mir bei dem Konflikt im buildfile nicht sicher.

xeruf commented 5 years ago

Ich bin als Ersteller des PRs sowieso responsible für den merge ;) Bei solchen größeren PRs werde ich jetzt nämlich auch nicht squashen, sonst haben wir so fette commits.