BLIT2008-Board spielt Schach
Aus BraLUG-Wiki
Inhaltsverzeichnis |
Motivation
Ja, es ist kein Scherz: Das BLIT-Board kann Schach spielen!
Beim Stöbern im Internet bin ich zufällig auf dieser Seite gelandet, die mich sofort in den Bann gezogen hat. U.a. ist hier eine Implementierung eines Schachalgorithmus zu finden, der auch für das BLIT-Board geeignet sein sollte (Bauplan und entsprechendes Programm dazu).
Die Umsetzung
Hardware
OK, was braucht ein Schachcomputer an Hardware:
- ein Rechenwerk --> BLIT-Board
- eine Eingabeeinheit --> Tastaturbaugruppe
- eine Ausgabeeinheit --> LCD-Baugruppe
Also alles da, was benötigt wird, um eine erste Umsetzung obiger Internet-Fundstelle zu wagen!
Software
- Version 0: 1:1 Umsetzung des obigen Beispiels. Es wurde die (etwas wilde; es wird u.a. GOTO verwendet...) Programmstruktur übernommen und nur an das BLIT-Board mit den entsprechenden Ein-/Ausgabe-Baugruppen via TWI angepasst. D.h. also auch, dass die Bedienungsanleitung auf obiger Webseite zu 100% zutrifft.
- Version 1:
- etwas im Code aufgeräumt; hauptsächlich in main(); (GOTOs sind aber immer noch drin, erscheinen auch sinnvoll...)
- Funktionen NewGame, Level, Favorit auf eigene Tasten gelegt (Tastenbelegung siehe Quelltext)
- Meldungen und entsprechende Routinen besser auf LCD angepasst
Ein Wort zum Schachalgorithmus
Ich will mir hier nicht anmaßen, dass ich wirklich einen guten und effektiven Schachalgorithmus entwickeln und programmieren kann! Der, im Mikrocontroller-Programm enthaltene Algorithmus stammt von H.G. Muller. Auf seiner entsprechenden Webseite (ff.) wird ein wenig über die Geschichte und die Funktionsweise berichtet, was auf jeden Fall lesenswert ist! (Danach versteht man auch, warum die Routine so kompakt und eigentlich unlesbar ist...!)
...und das Ergebnis...:-(
Hier zwei Bilder von der ersten Partie mit dem BLIT-Board.... Jaja, ich habe verloren! Aber ich war so fasziniert, dass es so funktionierte, wie ich es geplant hatte, dass ich einfach nicht aufgepasst habe, was das blöde BLIT-Board heimtückisches ausgeheckt hatte. Und ausserdem wollte ich sehen, was das Ding anzeigt, wenn es mich Matt setzt...;-)!