Ob man wohl ein vier gewinnt Programm in einem Mikrocontroller unterbringen kann. Ich stelle mir so ein kleines Kästchen vor, 7 Tasten um dem uC mitzuteilen, wo der Gegner seinen Stein reingeworfen hat, und eine 7-Segment-Anzeige um mir zu zeigen, wo ich den Stein reinwerfen soll. Rechenzeit sollte im Bereich von ein paar Sekunden liegen, und genau da sehe ich den Hund begraben. Weil "Brut-Force" Konzepte benötigen doch sehr viel Rechenzeit. Hat jemand schon mal so etwas programmiert?
Hallo, habe ich mal vor vielen Jahren in Basic auf dem KC87 programmiert... Nach und nach den Alghoritmus aufgebessert, war am Ende eigentlich recht spielstark, wenn... ja wenn da nicht kurz vor dem gewinnen öfter ein Arrayindex out if Range die Sache beendet hätte. ;-(( Mach es "ordentlich", Spielfeld aus 2-Farb Leuchtdioden z.B. Rechenzeit ist überhaupt kein Problem, am Anfang erstmal einen einfachen Ablauf basteln, erstmal schauen, wo eine gegnerische Linie blockiert werden muß, dann wo man selbst anbauen kann, dann, wo man vorrausschauend aufbauen kann so als Ansatz. Gruß aus Berlin Michael
Michael U. wrote: > Hallo, > > habe ich mal vor vielen Jahren in Basic auf dem KC87 programmiert... > > Nach und nach den Alghoritmus aufgebessert, war am Ende eigentlich recht > spielstark, wenn... ja wenn da nicht kurz vor dem gewinnen öfter ein > Arrayindex out if Range die Sache beendet hätte. ;-(( > > Mach es "ordentlich", Spielfeld aus 2-Farb Leuchtdioden z.B. > Rechenzeit ist überhaupt kein Problem, am Anfang erstmal einen einfachen > Ablauf basteln, erstmal schauen, wo eine gegnerische Linie blockiert > werden muß, dann wo man selbst anbauen kann, dann, wo man > vorrausschauend aufbauen kann so als Ansatz. > > Gruß aus Berlin > Michael Klingt interessant, magst du mal dein Programm posten? Ich wollte aber eher ein winzig kleines Gerät konstruieren, das mir ein bischen beim Schummeln hilft ;-) Gerade der Speicherbedarf solcher Programme könnte ein KO Kriterium bei der Auswahl sehr kleiner uC's sein...
Peter X. wrote: > Klingt interessant, magst du mal dein Programm posten? Ich glaube kaum, dass Michael das KC87-Programm im PC-Format liegen hat, um es mal schnell ins Netz zu stellen... > Ich wollte aber eher ein winzig kleines Gerät konstruieren, das mir ein > bischen beim Schummeln hilft ;-) Aha... > Gerade der Speicherbedarf solcher Programme könnte ein KO Kriterium bei > der Auswahl sehr kleiner uC's sein... Nunja, du wirst ja erstmal mit dem Erstellen eines Algorithmus beginnen müssen. Erst wenn dieser steht, kannst Du versuchen, ihn zu optimieren und in Software zu gießen. Ich habe ja schon ein paar Kleinigkeiten auf dem AVR gemacht, aber für die Realisierung eines funktionierenden 4gewinnt fühle ich mich noch zu unerfahren. ...
Michael U. schrieb: > habe ich mal vor vielen Jahren in Basic auf dem KC87 programmiert... Grins :) Es gab da wohl eine Epoche, in der fast jeder, der Zugang zu einem Computer hatte, ein Vier-Gewinnt programmiert hat. Bei mir war es an Stelle des KC87 das "Konkurrenzprodukt" aus Amerika mit der angebissenen Baumfrucht. Mein Programm spielte immerhin so gut, dass ich selbst kaum eine Chance dagegen hatte, was aber nichts heißen muss. Leider ist das Programm verschollen oder gammelt auf einer wahrscheinlich nicht mehr lesbaren 5¼"-Diskette in der hintersten Kellerecke herum. Ich habe nur noch so viel im Kopf: Da mit Brute-Force in Basic in vernünftiger Zeit nicht die erforderliche Zahl von Zügen voraus- berechnet werden konnte, habe ich mich für einen tabellengesteuerten Ansatz entschieden. Das lief dann so, dass man bei Spielbeginn erst einmal 20 Sekunden ;-) warten musste, bis die Tabellen initialisiert waren, dann kam aber jeder Zug wie aus der Pistole geschossen, ohne merkliche Verzögerung. Ich bin mir ziemlich sicher, dass der Algorithmus auf einem mittel- großen AVR laufen könnte, obwohl er ihn nicht gut nutzen würde, da er zwar mit Rechenzeit geizt, aber nicht mit RAM. Von der Rechenleistung dürfte ein in C programmierter AVR zwei bis drei Größenordnungen besser abschneiden, RAM-mäßig könnten 1024 Bytes aber schon etwas knapp werden. Ich werde mal in einer ruhigen Minute versuchen, mir den Algorithmus ins Gedächtnis zurückzurufen und, falls ich erfolgreich bin, hier posten :)
Kleiner Link statt vieler Worte: http://www.marwedels.de/malte/ledmatrix/ledmatrix.html Einfach mal den Source runterladen dort ist schon ein kompletter C-Code fürn AVR für Tetris, 4 Gewinnt und andere Spiele aus der "Gründerzeit".
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.