Eine Funktion die beim starten einer Partie aufgerufen wird wäre noch gut, damit man bereits gewisse Sachen inizialisieren kann.
Also einfach im Interface:
[autoit]Func _Chess_Initialize()
[/autoit][autoit][/autoit][autoit]EndFunc
[/autoit]und in der Schach.au3 einfach am Scriptanfang diese Funktion aufrufen.
Nachtrag: Frage zu en passant, da meine Schachkenntnisse ja schon verjährt sind. Ist die Erklärung hierzu in http://de.wikipedia.org/wiki/En_passant richtig? (Ich hatte es anders in Erinnerung). Des weiteren muss der Teilnehmer (also ich) beweisen, dass der gegnerische Bauer unmittelbar davor den Doppelschritt gemacht hat?
Wenn ein Bauer 2 Felder vorrückt und anschließend direkt neben einem gegnerischen Bauern zum Stehen kommt, so darf dieser geschlagen werden, als würde er nur 1 Feld ziehen. Diese Schlagmöglichkeit entfällt jedoch im nächsten Zug.
Sieht man ja gut auf dem Wikibeispiel:
[Blockierte Grafik: http://upload.wikimedia.org/wikipedia/commons/0/09/Ajedrez_animaci%C3%B3n_en_passant.gif]
Edit:
Und weiter gehts mit den Fehlern ;). Wenn zu Spielbeginn die Spielerfarbe schwarz ist aber ganz normal weiß mit dem ersten Zug beginn, dann wird _Chess_ComputerTurn nicht aufgerufen sondern _Chess_HumanTurn.
Naja ich mach doch nicht mit beim µitLight sind einfach zuviele Fehler in dem ganzen Script um es effektiv als Grundlage zur Erstellung einer Schach KI zu verwenden. Da hat man ja mehr damit zu tuen die Limitierungen der Schach.au3 irgendwie hinzubiegen als mit der eigentlichen KI. Zeigt auch schon allein, das es keine gemeinsamen Array gibt in dem die Positionen gespeicher sind. Dies bedeutet z.b. dass wenn schwarz nun von d8 auf d1 zieht __Chess_Wer_Auf_Feld("d1") trotzdem noch ausgibt, dass d1 im besitz von weiß ist. Umgekehrt also wenn weiß von d1 nach d8 zieht gibt __Chess_Wer_Auf_Feld("8") richtigerweise aus, dass nun weiß darauf ist. Bedeutet also, dass man nun nochmal seperat eine Liste der Positionierung der Figuren machen müsste und diese auch Auswerten, was wiederrum auf kosten der Laufzeit geht.
Kurz und knapp. Schönes Script um Schachzüge zu animieren, aber um wirklich darauß ein Spiel zu machen bei dem man aktiv Züge macht oder gar eine KI nicht zu gebrauchen.
Wünsche allen anderen trotzdem noch viel Spaß bei diesem µitLight.