Hallo Gunther,
Hallo Thomas,
eine einfache Überprüfung habe ich schon mal fertig gemacht. Ich muss sie raussuchen aus den Ideensammlungen. Sie basiert einfach auf einem Raster für jede mögliche Stellung jedes Figurentypes. Also für (fast) jeden Typ 64 Stellungen mit den möglichen Zielfeldern. Dieses Raster gibt ca. 3,5 bis 4kByte Daten. Dieses Verfahren ist sehr viel schneller, als eine komplexe Wegberechnung (mit Hindernissen) durchzuführen.
ja bitte, such' mal raus...
für die reine Zugüberprüfung leuchtet mir das ja auch ein, a b e r...
wie prüfst du denn z.B. auf patt, schach, oder matt?
Das ist angesichts von Megabyte-Klötzen "moderner" Programme ein Witz. Diese Sieb-Methode deckt ca. 96 bis 98% aller Züge ab. Nur einige wenige (Rochade, Bauerntausch, ...) müssen noch separat behandelt werden. Der Server wird für die Berechnung kaum beansprucht. Da würde ich mir keine Gedanken machen. Eine Vorab-Überprüfung durch den Client kann natürlich durchgeführt erden. Man darf aber nicht vergessen, dass die zugehörige JS-Datei auch übertragen werden muss. Aleine die notwendige <link rel ..> durchzuführen, wird den Server schon mit eingen millisekunden beschäftigen, auch wenn er keine neue schach.js ausliefern muss, sondern nur "not modified" zurücksendet. Wenn jemand seinen Client gar auf "no Cache" eingestellt hat, dürfte die Validierung des Zuges auf dem Server bestimmt um einiges schneller sein, als die 10-20kB große schach.js auszuliefern.
Das ist sicherlich richtig, nur glaube ich, dass der Punkt Geschwindigkeit (selbst beim Blitzschach) hier eher sekundär ist. Mir kommt es vielmehr auf einen größtmöglichen Benutzerkomfort an, sowie auf ein Maximum an Fehlerfreiheit und Manipulationssicherheit.
Liebe Grüße aus http://www.braunschweig.de
Tom
Gruß Gunther