Aaalso... für ein 2 Player Schachspiel:
erstmal, wenn eine Figur ausgewählt wird, muss man prüfen, welche Felder begehbar sind.
Dazu würde ich folgendes machen:
Ein Script fragt, abhängig vom Figurentypen ab, ab wann die Felder blockiert werden (für Figuren ohne längere Reichweite, also Bauer, König und Springer ist das nicht nötig) und erstellt so Funktionen (es müssen 4 verfügbare Funktionen sein mit je 4 Variablen, also 16 Variablen, wie Funktionen funzen schreib ich später) und anschließend werden diese Funktionen eben ermittelt und zwar auf folgende Weise:
Erstmal wird Switch A aktiviert und Variable Runde auf 1 gesetzt und die Position des zu prüfenden Feldes gespeichert
die Erste Figur (mti Figur mein ich alle 32 Stück) hat nun folgendes Script auf einer ziemlich weit hinteren Seite:
Parallel Process
Switch A als Bedingung
Wenn Variable Runde auf 1, dann wird geprüft, ob die Koordinaten der Figur mit den gespeicherten übereinstimmt, wenn ja, wird ausgegeben, welche Farbe die Figur hat (Switch, OFF = schwarz, ON = weiß), wenn nein, dann wird die Variable Runde um 1 erhöht
anschließend natürlich das Anti-Ruckel Wait von 0,0s
die nächste Figur hat dann als abgefragte Variable 2 und so weiter bis 32
so kann man schonmal ausrechnen, wie eine Figur ziehen kann, natürlich braucht man einige Spezialscripte für Aktionen wie Charade, 2 Felder mit dem Bauern ziehen, mit dem Bauern schlagen und einen Bauern schlagen, der grade eben 2 Felder gezogen ist (weiß net genau, wie das heißt, ich bin kein guter Schachspieler)
Soa, jetzt zu den Funktionen. Jede Funktion hat 4 Variablen welche 2 Paare von Koordinaten darstellen.
Erstmal eine Situation (imaginär, jetzt mal nur für die Sache ohne Bezug auf das echte Spiel):
Die eingefärbten Felder sind die Möglichkeiten der Königin. Jede Farbe symbolisiert eine der 4 Funktionen.
Nun, um zu zeigen, was die Variablen speichern, die betreffenden Koordinaten:
Funktion blau: x1=1 y1=4 x2=7 y2=4
Funktion rot: x1=4 y1=4 x2=5 y2=5
Funktion grün: x1=4 y1=3 x2=4 y2=7
Funktion violett: x1=6 y1=2 x2=1 y2=7
(man könnte grün und blau auch mit 3 Varis machen, aber öhm... was solls ^^)
so, als nächstes das schlagen, hier wird wieder sowas gemacht wie bei der Feldüberprüfung, das Event, das auf dem Feld steht, das angegriffen wird, wird hierbei auf diesselbe Methode herausgefunden und darf nun selber den Switch ändern, der es verschwinden lässt.
So, Im Prinzip wars das schon (ist aber viel Arbeit), nur eins fehlt noch: der König.
Der König verlangt ganz eigene Routinen weil... er darf auf kein Feld, auf dem er geschlagen werden kann!
Ich würde diese Regel fast abschaffen den ansonsten kommt etwas sehr ekliges:
jedes Event muss nach der bekannten Routine durchlaufen nur diesmal mit einer Abfrage, ob es den König auf der neuen Position schlagen könnte!
hat man das dann hinbekommen, kommt die schwerste aller Aufgaben, das Schach Matt.
Hierbei reicht es nicht, zu prüfen, ob der König keinen Zug machen kann sondern ob es einen Zug gibt, der den König schützen kann und... das ist eine Sisyphosarbeit. Ich habs schon oben vorgeschlagen als es noch ging, hier schlage ich es endgültig vor: diese Regel abschaffen und einfach machen, dass man den König schlagen kann. Ich meine, klar, man kann schon aufhören, wenn es unausweichlich ist, bringt aber keinen um (ok den König), den einen Zug zu machen und den König zu stürzen (weiterhin bleibt die Möglichkeit offen, dass man den König am Leben lässt um dem anderen noch eine Chance zu geben für ein spannenderes Spiel)
ok, das ist im Grunde das Wichtigste aber... es ist machbar aber extrem aufwendig, ich hätte dazu jedenfalls keinen Bock (sonst würde ich das hier auch net posten ^^), man braucht einen kühlen Kopf, dem klar ist, was er gerade macht damit man nicht die Übersicht in dem komplexen Gewirre verliert und stahlharte Nerven wenn man hinterher die Bugs jagt (bei sowas großem kommen die unausweichlich)
hat man es aber geschafft... na, dann isses nemmer schwer die Schachmodifikationen wie Räuberschach zu machen ^^
viel Glück, wer auch immer das versuchen will