Wer mit zwei Browsern oder ullis KaroApp und dem Browser parallel zieht, kann sich schon mal verfahren. Weil z. B. in der App nich ein alter Spielstand angezeigt wird, während man im Browser schon einen Zug gemacht hat – und jetzt wieder dran kommt.
Da bisher die Züge nur „relativ“, also als Zugvektoren übergeben wurden, konnte das passieren.
Jetzt neu in Karo1 (und schon immer so geplant in Karo2) müssen Zugvektor UND Zielposition übergeben werden. Dadurch kann ich dann auf dem Server prüfen, ob das auch alles zusammenpasst.
Für die „Übergangszeit“ (bis alle Bots und Apps umgeschrieben sind) schick ich die Browser-Benutzer auf die „move2.php“, die genau das gleiche tut wie die move.php, nur mit dem Unterschied, dass sie diese Prüfung durchführt.
Sobald die Herren ulli, quabla und Jody „Bescheid“ sagen, kann ich das ja wieder korrigieren.