Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

SPiChess

Ein SPiCboard-Schachcomputer.

Eigenschaften

  • Verwendung des NegaMax-Algorithmus mit einstellbarer Suchtiefe (≙ Schwierigkeit)
  • optional mit Ausgabe über das OLED Display (Spielfeld und Züge nach der algebraischen Schachnotation)
  • (kleine) Datenbank mit populären Eröffnungszügen
  • Unterstützung für Rochade und en passant

Steuerung

Bestätigen und Abbrechen mit den Tastern an PD2 (BUTTON0) und PD3 (BUTTON1), Auswahl der Felder mit dem Potentiometer.

Anzeige

Die Ausgabe erfolgt über die LEDs sowie die 7-Segment-Anzeige, optional auch ergänzend über das OLED-Display.

Die Leuchtdioden sind in Viererblöcke (mit eindeutigen Farben) unterteilt, wobei der untere Block für den ersten Spieler (weiß) und der obere dem zweiten Spieler (schwarz) zugeordnet wird.

LED Bedeutung
rot Spieler gewinnt (oder unentschieden, sofern beide rote LEDs leuchten)
gelb Der entsprechende Spieler ist am Zug
grün 7 Segmentanzeige zeigt das Ausgangsfeld für den Zug an
blau 7 Segmentanzeige zeigt das Zielfeld an

Zu Beginn (nach einer kurzen Titelanimation) müssen die Spieler P1 (für Player 1, weiß) und P2 eingestellt werden. Ein menschlicher Spieler wird mit hu (human) ausgewählt, L1 bis L5 aus - die Zahl steht für die Schwierigkeit (genauer: die Rekursionstiefe des NegaMax-Algorithmus), was auch die Dauer Die 7-Segment-Anzeige gibt primär das Feld als Kombination von Buchstabe (a-h) und Zahl (1-8) aus. Der Wechsel zwischen Ausgangs- und Zielfeld wird mit to dargestellt, ein erfolgreicher Zug mit ok. Ein ungültiger Zug wird für eine Sekunde mit In (invalid) gekennzeichnet, bevor eine neue Eingabe beginnt. Das Auswählen eines Ausgangsfeldes mit einer gegnerischen Figur wird mit PC abgebrochen, Felder ohne Figur mit --.

Startbildschirm

Startbildschirm

Ausgangsstellung

Ausgangsstellung

Am Ende eines Spiels

Am Ende eines Spiels

Fehlend (noch zu implementieren), Ideen

  • Schachuhr (die auch die KI beeinflusst)
  • größere/bessere Eröffnungsdatenbank
  • und generell: effizientere Datenstrukturen
  • sowie besserer Spielalgorithmus