Vier Gewinnt

Präsentation und Organisation von eigenen Projekten
Antworten
Onraku
Beiträge: 43
Registriert: Fr Sep 09, 2011 2:14 pm

Vier Gewinnt

Beitrag von Onraku » Mo Jun 04, 2012 5:10 pm

... scheint ja gerade schwer in Mode zu sein.

Ich habe vor kurzem angefangen eine Variante für meinen Nintendo DS umzusetzen. Der Trick hierbei wäre gewesen, dass man das Gerät auf den Kopf dreht (Touchscreen oben) und die Spielsteine ans Brett zieht und reinfallen lässt.
Jedoch hängt das Projekt aufgrund fehlender Motivation erstmal am Nagel.

Folgendes gehört eher in "Algorithmen":

Wenn der erste STein in der mittleren Spalte (7*6 Feld) liegt, kann ein perfekter zweiter Spieler nur noch ein Unentschieden erreichen. Wie würde sich das in einem 8*8-Feld verhalten?
Wie lässt sich das Spiel interessanter gestalten, damit ich es schaffe am Ball zu bleiben?

Zurück zum Projekt:
Ich dachte vor kurzem über eine "Hardware"-Umsetzung nach, weil ich ohnehin mal was mit Microcontrollern machen wollte.
So entpuppt sich ein kleines Spielchen als recht vielseitiges Projekt mit:
1) Programmierung: für mich eher die Herausforderung, da ganz und gar nicht mein Hauptgebiet. Einerseits schon gut vorgekaut im Allegro-Tutorial, andererseits viel Neuland wegen des mCs, und diversen Varianten.
2) Elektronik: sollte überschaubar bleiben, Schulphysik reicht ja, um Vorwiderstände für LEDs auszurechnen, stabile Spannungsversorgung, usw...
3) Gehäuse bauen: für mich als Handwerker das Heimspiel

Das Spielkonzept sieht ein quadratisches Feld vor, Taster an der Oberseite lassen "Steine" an die richtige Stelle fallen, und zweifarbige LEDs simulieren den Stein.
Der Clou: Ich möchte das Feld drehbar machen, entweder soll man anstatt eines Zuges das Feld um 90° drehen können, oder aber der Zug besteht aus drehen und Stein spielen.
Hier tun sich jede menge Möglichkeiten auf:
-Sollen die Steine nach dem Drehen an ihrer Stelle bleiben, oder durchfallen? (Schwerkraft an oder aus?)
-Wie bringe ich dem Controller bei welche Seite gerade oben ist? Klar, Ich brauche Taster auf jeder Seite des Feldes zum spielen, vielleicht etwas ins Gehäuse versenkt, damit die auf der Unterseite nicht auslösen, und dann noch einen zusätzlichen der gerade auf der Unterseite permanent gedrückt wird? So einen gibts dann aber auch auf der Oberseite, und der kann (versehentlich) gedrückt werden. Vielleicht einen Lichtsensor auf jede Seite, und der auf der Unterseite kriegt eben kein Licht ab?

Vielleicht habt ihr ein paar Ideen zu Spielvarianten, und technischer Umsetzung. Auch über Vorschläge für den mC-Typ wäre ich dankbar.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Vier Gewinnt

Beitrag von cloidnerux » Mo Jun 04, 2012 5:25 pm

1) Programmierung: für mich eher die Herausforderung, da ganz und gar nicht mein Hauptgebiet. Einerseits schon gut vorgekaut im Allegro-Tutorial, andererseits viel Neuland wegen des mCs, und diversen Varianten.
µC sind leichter als man annimmt zu programmieren, weisen aber sehr viele Feinheiten auf. Eine mögliche alternativ Idee zu deiner, wozu ich auch Quellcode habe, ist folgende:
http://www.intel-leibniz-challenge.de/p ... gabe_4.pdf
2) Elektronik: sollte überschaubar bleiben, Schulphysik reicht ja, um Vorwiderstände für LEDs auszurechnen, stabile Spannungsversorgung, usw...
Bisher hat mir die Schulphysik wenig geholfen, außer vlt mal das Ohme Gesetz, wobei das bei LEDs ziemlich wurscht ist, da nimmt man dann halt 470 bei 5v und 1k für 12 oder so.
Eher kommt es darauf an, die richtigen Bauteile richtig zu verdrahten, dabei kann ich dich aber unterstützen.
Der Clou: Ich möchte das Feld drehbar machen, entweder soll man anstatt eines Zuges das Feld um 90° drehen können, oder aber der Zug besteht aus drehen und Stein spielen.
Hier tun sich jede menge Möglichkeiten auf:
-Sollen die Steine nach dem Drehen an ihrer Stelle bleiben, oder durchfallen? (Schwerkraft an oder aus?)
-Wie bringe ich dem Controller bei welche Seite gerade oben ist? Klar, Ich brauche Taster auf jeder Seite des Feldes zum spielen, vielleicht etwas ins Gehäuse versenkt, damit die auf der Unterseite nicht auslösen, und dann noch einen zusätzlichen der gerade auf der Unterseite permanent gedrückt wird? So einen gibts dann aber auch auf der Oberseite, und der kann (versehentlich) gedrückt werden. Vielleicht einen Lichtsensor auf jede Seite, und der auf der Unterseite kriegt eben kein Licht ab?
Viele Wege führen nach Rom(aber eben nicht alle^^). Du könntest Gyroskope, Acceleromter, vlt sogar nen Kompass verwenden, oder Taster, Quecksilberschalter oder eben eine automatische Umschaltung nach jedem Zug.
"Schwerkraft" ist kein Problem, sofern du nicht einen ultra-Komplexen Algo dafür hast. Wenn es nicht anders geht, dann wartet man halt mal nen paar ms länger, aber das ist nicht tragisch.
Vielleicht habt ihr ein paar Ideen zu Spielvarianten, und technischer Umsetzung. Auch über Vorschläge für den mC-Typ wäre ich dankbar
Das Spiel ist jetzt nicht so komplex, als dass es da viele Varianten gibt. Du kannst es ohne drehen oder mit drehen spielen, einzeln gegen eine KI oder gegen einen anderen Spieler. Schwerkraft muss sein wenn du das Spielfeld drehst, sonst macht das drehen keinen sinn.
Als µC kann ich dir die Atmega-Reihe von Atmel empfehlen, die gibt es relativ günstig. Alternativ kannst du aber auch Produkte wie die Arduinos und Konsorten, TinkerForge oder myAVR-Boards empfehlen, dort sitzt schon ein entsprechender Controller mit USB-Interface auf einer Platine, damit entfällt dir einiges an Eigenarbeit, ein AVR-Programmer und du kannst zum Teil schon auf viel vorgefertigte Hardware zurückgreifen.
Bei der LED-Matrix musst du schauen wie du es umsetzen willst, bei 8*8 LEDs ist es notwendig das ganz zu Multiplexen, sprich die LEDs Zeilen- und Spaltenweise verbinden.

Taster sind kein großes Problem, müssen nur Entprellt werden.
Bei Fragen beantworte ich gerne^^
MfG cloidnerux.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Antworten