Test-Suite im FEN-Format

Worum geht es?

Ein wichtiger Punkt bei der Entwicklung einer eigenen Schach-Engine ist die korrekte Spielweise. Dies lässt sich am besten durch automatisierte Tests absichern. DokChess verfügt über eine ganze Reihe von Unit-Tests, die das Subsystem Spielregeln (siehe Bausteinsicht) als Whitebox-Tests für die verschiedenen Gangarten der Figuren und weitere Regel-Details überprüfen.

Test-Suite (in Arbeit)

Darüber hinaus habe ich begonnen, interessante Testfälle für die Spielregeln so bereitzustellen, dass Sie sie auch leicht für eigene Zuggeneratoren verwenden können, um diese auf Herz und Nieren zu testen. Sie werden als Text-Dateien bereitgestellt, pro Zeile eine Stellung in FEN-Notation:

  • testsuite_r.txt (zur Stellung jeweils die Anzahl regelkonformer Züge und die Züge im Detail)

Tests auf erlaubte Züge (regelkonformes Spielen)

Klicken Sie auf die Nummer eines Datensatzes (Spalte "Nr.") für Details (Diagramm, Liste aller möglichen Züge).
  • R1xx: Stellungen mit Fokus auf Bauernzüge (inkl. Umwandlung, en passant)
  • R2xx: Springerzüge
  • R3xx: Läuferzüge
  • R4xx: Turmzüge
  • R5xx: Damenzüge
  • R6xx: Königszüge
  • R7xx: Rochade
  • R9xx: Verschiedene Stellungen

Nr. Stellung (FEN)
Züge
R101 "2k5/8/8/8/8/3p4/2P5/7K w - - 0 1"
6
R102 "k7/p7/2p5/4p1p1/5P2/8/8/K7 b - - 0 1" 9
R103 "4k3/8/8/3Pp3/8/8/8/K7 w - e6 0 1" 5
R104 "4k3/8/8/8/5pPp/8/8/7K b - g3 0 1" 9
R105 "3rk3/P3P3/8/8/8/8/8/K7 w - - 0 1" 11
R106 "k7/8/8/8/8/8/4p3/K2R1R2 b - - 0 1" 15
R201 "k7/8/8/8/3p4/5N2/7P/7K w - - 0 1" 11
R202 "k7/n7/8/1P6/8/8/8/7K b - - 0 1" 5
R301 "k7/2p5/8/4B3/8/8/8/K7 w - - 0 1" 14
R302 "k7/8/8/6b1/8/4P3/8/7K b - - 0 1" 10
R401 "k7/3p4/8/8/8/8/3R4/3K4 w - - 0 1" 16
R402 "k2r4/8/8/8/3r2P1/8/8/K2R4 b - - 0 1" 24
R501 "1k6/1p6/2p3p1/8/4Q3/8/8/4K3 w - - 0 1" 28
R502 "8/1k6/8/8/4q3/8/6P1/K3R3 b - - 0 1" 32
R601 "8/6k1/8/4r3/3KP3/8/8/8 w - - 0 1" 5
R602 "8/8/p7/k7/N7/8/8/7K w - - 0 1" 7
R603 "8/8/8/3k4/8/3K4/7p/8 w - - 0 1" 5
R604 "8/8/7R/3k4/8/3P4/7B/7K b - - 0 1" 2
R605 "7k/8/5pp1/8/7K/r7/8/8 w - - 0 1" 1
R701 "8/8/8/8/8/4k3/P6P/R3K2R w K - 0 1" 12
R702 "r3k2r/p6p/4K3/8/8/8/8/8 b q - 0 1" 12
R703 "8/8/8/8/8/4k3/P6P/R3K1NR w KQ - 0 1" 13
R704 "r3k2r/p6p/4K3/8/8/8/8/2Q5 b kq - 0 1" 12
R901 "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1" 20
R902 "rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1" 20