Projekt Kirmes-Pferderennen - Anregungen zur Software

Gast #627309
Lesenswert?
• ▲
▼
Hallo,

Ihr kennt sicher alle von der Kirmes oder aus dem Freizeitpark das Spiel 
Pferderennen, bei dem mehrere Spieler versuchen auf einer Spielbahn mit 
Kugeln in Löcher zu treffen, um je nach Wertigkeit des getroffenen Ziels 
eine Spielfigur (Pferd) auf einer Bahn vorwärts zu bewegen.

So etwas möchte ich für 3 Spieler nachbauen. Den Antrieb der Pferde 
sollen Schrittmotoren übernehmen, welche durch einen AVR über eine 
L297/L298-Komination angesteuert werden. Programmieren möchte ich in 
Assembler.

Und da beginnt das Problem! Während der Programmablauf für einen 
einzelnen Spieler kein Problem darstellt, habe ich im Moment noch keine 
Ahnung, wie das mit 3 Spielern gleichzeitig geht. Die Problematik ist 
wie folgt:

- es müssen pro Spieler 3 Schalter überwacht werden, um festzustellen 
welche Wertigkeit der Spieler mit seiner Kugel getroffen hat

- je nach getroffener Wertigkeit muss der zum betreffenden Spieler 
gehörende Schrittmotor eine bestimmte Anzahl Schritte machen

- während des Programmablauf muss der AVR immer "im Bilde" sein, d. h. 
es darf kein Treffer einer Kugel (Schliessen eines Kontakts) verpasst 
werden und gleichzeitig muss der AVR immer wissen, wieviele Schritte ein 
bestimmter Motor bereits gemacht hat.

Im Moment bereitet mir also die Gleichzeitigkeit verschiedener Vorgänge 
Probleme.

Vielleicht hat mir jemand einen Tip zum Programmaufbau. Ich wäre sehr 
dankbar.

Thomas
Gast #627316
Lesenswert?
• ▲
▼
du fragst die entprellten taster in einem interrupt alle x millisekunden 
ab...

und in einer anderen unterfunktion machst du sowas:


funktion:
wenn Spieler1GehenSoll  dann schrittmotor1_einenSchritt
wenn Spieler2GehenSoll  dann schrittmotor2_einenSchritt
wenn Spieler3GehenSoll  dann schrittmotor3_einenSchritt
:ende


diese funktion führst du dauernd aus(hauptprogramm?)

dann

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.