Forum: Projekte & Code VierGewinnt mit ATmega328p


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Ralph S. (jjflash)


Angehängte Dateien:
  • vg.zip (121 KB, 56 Downloads)

Bewertung
4 lesenswert
nicht 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
                            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. (michael_w385)


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

: Bearbeitet durch User
von Ralph S. (jjflash)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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. (Firma: privat) (christianj)


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

von Markus M. (adrock)


Bewertung
0 lesenswert
nicht 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)


Bewertung
-1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert

von Ralph S. (jjflash)


Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.