Forum: Projekte & Code VierGewinnt mit ATmega328p


von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Nach Durchsicht der Sourcen, habe ich jetzt noch etwas für einen 
ATmega328p mit TFT 128x128 Pixel portiert (im Nachbarthread war es 
Tetris und Breakout):

Hier jetzt
1
                            Vier gewinnt
für ATmega328.

Die benötigte Schaltung ist dieselbe wie im Nachbarthread, Schaltplan 
habe ich hier dennoch noch einmal angehängt.

Die Beschreibung der tftdisplay.c und tftdisplay.h ist auch dort zu 
finden:

Beitrag "Re: Bricks - BreakOut Game für ATmega168 / 328p"

Leider konnte der Code für einen MiniMax-Algorithmus auf dem AVR nicht 
zum Laufen gebracht werden, weil schlicht nicht genügend RAM vorhanden 
ist, also habe ich die Optik von meinem STM32F103 genommen und als KI 
eine sehr altes Javascript portiert.

Die Spielstärke ist : "so lala", d.h. es spielt nicht wirklich dumm, 
aber so richtig gut auch nicht. Für Kinder oder junge Jugendliche oder 
zur Abwechslung wenn man nicht sooooo hochkonzentriert ist, reicht es 
allerdings.

Sollte jemand eine starke KI für 4-Gewinnt auf einem ATmega328 haben 
(hat halt nur 2kByte RAM), dann gerne her damit.

Wenn jemand das aus dem Nachbarthread aufgebaut hat, kann er den Chip ja 
auch mal mit diesem Programm hier flashen

von Michael W. (Gast)


Lesenswert?

Schoenes Projekt, gefaellt mir!
Eine kleine Platine mit Gehaeuse etc. waere natuerlich noch schoener.

von Ralph S. (jjflash)


Lesenswert?

Na ja, das ist eine Bastelarbeit. Für denjenigen, der daraus tatsächlich 
ein Gerätchen machen mag geht das ja sogar noch auf Lochraster 
aufzubauen.

Für ein Gehäuse steht mir leider kein 3-D Drucker zur Verfügung.

Ein Platinchen werde ich machen für einen STM32F103CBT6 und dann 
insgesamt 5 Tasten und einem 160x128 Display.

Einfach weil das auch keinen Deut teurer als die AVR Sachen sind, ich 
aber zum einen das 4-Gewinnt in einer sehr deutlich spielstärkeren 
Version dort unter bekomme und ich auch die anderen kleinen Spielchen 
alle zusammen in das Flash packen kann, so dass ich beim Start das Spiel 
wählen kann.

Außerdem: Heutzutage empfiehlt es sich, wenn man solche Gerätchen baut, 
diese mittels LiPo Akku zu betreiben und dann sollte dort noch eine 
Ladeelektronik und eine Abschaltautomatik bei entladenem Akku enthalten 
sein.

Vielleicht sollte ich die Abschaltelektronik für LiPo in den Code mit 
einpflegen ?!?

von Horst (Gast)


Lesenswert?

Brauchst Du wirklich die 16MHz? Mit 8MHz läuft der 328 datenblattkonform 
mit 3V und Du kannst die Spannungsteiler sparen und LiPos zur Versorgung 
verwenden.

von Ralph S. (jjflash)


Lesenswert?

Sagen wir es einmal si: Darauf läuft auch das Bricks und das Tetris und 
dann läufts mit 8 MHz nicht mehr so schön. Das SPI Display wird dann 
langsam. Außerdem wie gesagt: Dss ganze auf einem STM32 eröffnet bessete 
Möglichkeiten. Das hier war der Port von STM32 nach AVR

von Christian J. (Gast)


Lesenswert?

Hast du mal einen ebay Link auf die Displays? Sehr nett, finde aber nur 
die oled 128.64

von Markus M. (adrock)


Lesenswert?

Ist "Vier Gewinnt" nicht ebenso wie Tic-Tac-Toe ein Spiel, bei dem man 
eigentlich nicht gewinnen kann, wenn der andere Spieler gut spielt?

Gut, irgendwann ist man im Zugzwang, dann entscheidet evtl. das Glück...

: Bearbeitet durch User
von M. K. (sylaina)


Lesenswert?

Markus M. schrieb:
> Ist "Vier Gewinnt" nicht ebenso wie Tic-Tac-Toe ein Spiel, bei dem man
> eigentlich nicht gewinnen kann, wenn der andere Spieler gut spielt?

Und genauso wie auch Schach und Dame. Wenn niemand einen Fehler macht 
läufts immer auf Unentschieden hinaus.
Diese Spiele unterscheiden sich nur in der Komplexibilität.

: Bearbeitet durch User
von leo (Gast)


Lesenswert?

M. K. schrieb:
> Wenn niemand einen Fehler macht
> läufts immer auf Unentschieden hinaus.

Bevor ihr hier Unfug verbreitet, koenntet ihr ja auch nachlesen:

" Der erste Spieler kann das Spiel gegen beste Verteidigung gewinnen, 
wenn er in der mittleren Spalte beginnt. "

leo

von Frank G. (frank_g53)


Lesenswert?

Christian J. schrieb:
> Hast du mal einen ebay Link auf die Displays?

https://www.mikrocontroller.net/link/ebay/302917174521

von Ralph S. (jjflash)


Lesenswert?

leo schrieb:
> Bevor ihr hier Unfug verbreitet, koenntet ihr ja auch nachlesen:
> Bevor ihr hier Unfug verbreitet, koenntet ihr ja auch nachlesen:

" Der erste Spieler kann das Spiel gegen beste Verteidigung gewinnen,
wenn er in der mittleren Spalte beginnt. "
> " Der erste Spieler kann das Spiel gegen beste Verteidigung gewinnen,
> wenn er in der mittleren Spalte beginnt. "

Zustimme, aber auf einem ATMega ist ein "bestes Spiel" (meiner Meinung 
nach) nicht realisierbar (und diese Variante hier schon überhaupt gar 
nicht).

Da ist das realisierte Vier Gewinnt auf einem STM32 schon deutlich 
stärker.

M. K. schrieb:
> Und genauso wie auch Schach und Dame. Wenn niemand einen Fehler macht
> läufts immer auf Unentschieden hinaus.

Das würde ich so nicht unterschreiben. Meines Wissens ist beispielsweise 
Schach (noch lange) nicht bis zum Schluß analysiert.

Wenn hier jemand mehr weiß oder neueres Wissen hat, würde mich das schon 
interessieren

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
Noch kein Account? Hier anmelden.