TurboSchach
Kompilieren / Ausführen
Für die Ausführung von TurboSchach sollte die Konsole / das Terminal im Vollbildmodus geöffnet sein. Durch ein zu kleines Terminal kann es zu Verschiebungen in der Benutzeroberfläche kommen. Um TurboSchach kompilieren zu können wird mindestens C++ 17 benötigt.
Linux und MacOS
# build
make
# run
make run
Microsoft Windows
# build
g++ -std=c++17 -o chess.exe main.cpp ChessPieces/*.cpp Chessboard/*.cpp Controller/*.cpp Player/*.cpp Visualizer/*.cpp
# run
./chess.exe
# build and run (PowerShell)
.\run
Algebraische Notation
Um die Figuren auf dem Schachbrett zu bewegen, wird die kurze algebraische Notation nach FIDE (siehe Appendix C) unterstützt. Es werden die Schachfiguren sowohl in deutscher als auch in englischer Sprache unterstützt.
Schachfigur | Deutsch | Englisch |
---|---|---|
Bauer (Pawn) | B | P |
Springer (Knight) | S | N |
Läufer (Bishop) | L | B |
Turm (Rook) | T | R |
Dame (Queen) | D | Q |
König (King) | K | K |
Bei der kurzen Notation wird immer nur das Zielfeld eines Spielzuges genannt. Sollte der Ursprung nicht eindeutig sein kann auch die Spalte oder Zeile der zu bewegenden Figur genannt werden. So gibt der Spielzug dxe5
an dass der Bauer in der Spalte D auf das Feld E5 zieht. Das x
gibt an dass dabei eine Spielfigur des Gegeners geschlagen wird. Dies muss aber nicht zwingend angegeben werden.
Der Bauer wird in den Spielzügen nicht benannt. Der Spielzug b4
ist daher der Zug eines Bauern auf das Feld B4. Alle anderen Schachfiguren werden im Zug mit ihrem entsprechenden Buchstaben genannt. So gibt der Spielzug Bc4
an dass der Läufer auf das Feld C4 gezogen wird.
Beispiele
(=)
Draw: Das Draw wird dann aktiv wenn dieses im nächsten Spielzug vom Gegner bestätigt wird.b4
Der Bauer zieht auf das Feld B4.Bc4
Der Läufer zieht auf das Feld C4.0-0
Kleine Rochade (Rochade am Königsflügel)0-0-0
Große Rochade (Rochade am Damenflügel)d8Q
Umwandlung: Der Bauer zieht auf D8 und wandelt sich zur Dame.
PGN (Portable Game Notation)
TurboSchach unterstützt das Datenformat PGN (Portable Game Notation), welches zur Speicherung von Schachpartien verwendet wird. Auf der Website https://www.chessgames.com/ werden beispielsweise viele Schachpartien von offiziellen Turnieren im PGN-Format zur Verfügung gestellt. Diese Dateien können in TurboSchach importiert werden. Über den Menüpunkt 2 direkt nach dem Start der Anwendung ist dieser Import möglich.
Diese PGN-Dateien wurden auch zum Testen der Anwendung verwendet. Nachfolgend einige Schachspiele mit bestimmten Eigenschaften:
- Jack Rudd vs Martin Simons vom 09.08.2000 - Schachmatt
- Tim Jaksland vs Line Jin Jorgensen vom 22.01.2008 - Schachmatt
- Gabriel Sargissian vs Nigel Short vom 04.10.2014 - En Passant (
axb6
) - Ulf Andersson vs Daniel Stellwagen vom 27.08.2006 - En Passant (
bxc6+
unddxe6
) - Garry Kasparov vs Kiril Georgiev vom 20.02.1988 - Stalemate
- Magnus Carlsen vs Hans Niemann vom 31.12.2024
Ausblick
- Multiplayer-Modus
- Abspielen der Schachpartien (Schritt für Schritt) aus einer PGN-Datei
- Anzeige der nächstmöglichen Züge bei Auswahl einer Figur