Python Tutorial, #54 Schach 5: Rochade

preview_player
Показать описание
In Teil 5 unserer Schach-Serie kümmern wir uns jetzt um die Rochade und schließen damit den Zuggenerator ab. Zusätzlich lassen wir jetzt nur noch gültige Züge auf dem Brett zu und zeigen die möglichen Zielfelder an.

Рекомендации по теме
Комментарии
Автор

Tolles instruktives Tutorial. Mit dem gezeigten Code ist es möglich, nach der ersten Rochade auch nochmal in die andere Richtung zu rochieren. :-) Um das zu beheben, muss man in die Zug-Datenstruktur nicht nur die gerade gespielte Rochade (die erkennt man ja auch am Königs-Zweifelder-Zug nach links oder rechts), sondern die kompletten eigenen Rochaderechte aufnehmen, beim zugAusführen die globalen Rochaderechte löschen, und beim Zurücknehmen wieder hinschreiben.

DasHemdchen
Автор

Nice! Alle Schachregeln bis auf das en passant Schlagen und die Unterverwandlung sind implementiert. 😌Allerdings sehe ich noch zwei bugs;
1.) Wenn sich ein Turm oder der König bewegt und dann zu seinem Ursprungspunkt in der Startaufstellung zurückkehrt, wäre die Rochade noch möglich. 🤔
2.) Die Könige könnten direkt neben einander stehen.😏

manfredreinsch
Автор

Bei einem so komplexen Projekt sieht man endlich wie wichtig Variablenbenennung ist und gute bzw. verständliche Skalierung von Datenstrukturen. 😄
Schön das alles was bei mir zwischendurch schiefging auch im Verlaufe des Videos passiert ist. 😋

Eine kleine Anmerkung vlt.: Es wäre einfacher / hilfreicher gewesen wenn in der Videobeschreibung die Teststellungen auf dem Feld hinterlegt gewesen wären (fen='....'). Das erspart / vermiedet Fehler beim abschreiben oder den Umweg über GIT.
LG ✌

masterbe