BLIT2008-Board spielt Schach
Aus BraLUG-Wiki
(Die Seite wurde neu angelegt: Kategorie:Hardware Kategorie:BLIT2008-Board Ja, es ist kein Scherz, genau das habe ich vor: '''Das BLIT-Board soll Schach spielen können!''' Beim Stöbern im...) |
|||
(2 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
[[Kategorie:BLIT2008-Board]] | [[Kategorie:BLIT2008-Board]] | ||
− | + | =Motivation= | |
− | + | Ja, es ist kein Scherz: '''Das BLIT-Board kann Schach spielen!''' | |
+ | Beim Stöbern im Internet bin ich zufällig auf dieser [http://www.andreadrian.de/schach/ 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 ([http://www.andreadrian.de/schach/Retro_Schachcomputer_Schaltplan.png Bauplan] und entsprechendes [http://www.andreadrian.de/schach/avrmax_48.c Programm] dazu). | ||
− | |||
+ | =Die Umsetzung= | ||
+ | ==Hardware== | ||
+ | [[Bild:Blit_board_chess3.JPG|320px|BLIT-Board mit Tastatur/-Ansteuerung und LCD]] | ||
− | + | OK, was braucht ein Schachcomputer an Hardware: | |
+ | * ein Rechenwerk --> [[BLIT2008-Board|BLIT-Board]] | ||
+ | * eine Eingabeeinheit --> [[BLIT2008-Board-Tastatur|Tastaturbaugruppe]] | ||
+ | * eine Ausgabeeinheit --> [[BLIT2008-Board-LCD|LCD-Baugruppe]] | ||
+ | |||
+ | Also alles da, was benötigt wird, um eine erste Umsetzung obiger Internet-Fundstelle zu wagen! | ||
+ | |||
+ | ==Software== | ||
+ | * [http://bralug.de/wiki-common/images/a/a3/Blit_Board_chess1.tar.gz 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. | ||
+ | |||
+ | * [http://bralug.de/wiki-common/images/a/a4/Blit_board_chess2.tar.gz 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 [http://home.hccnet.nl/h.g.muller/max-src2.html 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...:-(= | ||
+ | [[Bild:Blit_board_chess1.JPG|320px|...ich hatte weiss]] | ||
+ | [[Bild:Blit_board_chess2.JPG|320px|...meint das BLIT-Board zu mir]] | ||
+ | |||
+ | |||
+ | 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...;-)! |
Aktuelle Version vom 28. April 2009, 21:31 Uhr
Inhaltsverzeichnis |
[Bearbeiten] 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).
[Bearbeiten] Die Umsetzung
[Bearbeiten] 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!
[Bearbeiten] 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
[Bearbeiten] 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...!)
[Bearbeiten] ...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...;-)!