LabVIEWForum.de
Schiffe versenken - LED Eingabematrix - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Schiffe versenken - LED Eingabematrix (/Thread-Schiffe-versenken-LED-Eingabematrix)

Seiten: 1 2 3


Schiffe versenken - LED Eingabematrix - McGonahy - 01.02.2011 10:07

Hey zusammen...

ich möcht mir grad ein kleines Game zusammenbauen, Schiffe versenken :-)

Die Matrix ist hier 8x8, also 64 Felder groß und stell mir das als eine LED Matrix vor. Nur ist das Granze ein richtiger Aufwand so wie ich das hier vorhab:

- Hinter jeder LED liegt ein Mouse Event, dann wird geschaut ob es ein Treffer ist oder nur ins Wasser. Anschließend muss die LED (Tristate) farblich gekennzeichnet werden ob Treffer oder nicht. Ich kann ja hier nicht mit Zählschleifen etc arbeiten, weil meine Eventschleifen jeweils zugewiesen werdn müsesn per Hand?! ALso hab ich da schon mal 64 Eventschleifen nur für die Reaktion auf die Eingabe
- Anschließend brauch ich dann für jede LED nochmal 64 caseschleifen um die Tristate-LED farblich zu setzen. (über Property node Color), sind dann nochmal 128 häntische Aktionen (Farbe getroffen, Farbe ins LEere).

Das is doch nicht mehr händelbar, aber ich weiss auch nicht wie man es automatisieren sollte?! ÜBer ein ganz anderes Prinzip? Gibt es Beispiele für Eingabematrizen in der Art?


Vielen DAnk für eure Statements...


MG


Schiffe versenken - LED Eingabematrix - GerdW - 01.02.2011 10:10

Hallo McG,

nimm ein Array von LEDs. Dann hast du nur einen Eventcase...
(Die Auswertung des Arrays erfordert auch keine Extrabehandlung jeder einzelnen LED!)


Schiffe versenken - LED Eingabematrix - McGonahy - 01.02.2011 10:13

Ein 1D Array der LEDs, hatte ich auch schon. Aber kann ich dann auch einen Event (Mouseup) auf das einzelen Arrayelement setzen? Ich hab dann zwar nur einen Eventcase, muss aber dann rausfinden welche LED geklickt worden ist um es zu verarbeiten, da komm ich nicht mit klar... :-(


Schiffe versenken - LED Eingabematrix - GerdW - 01.02.2011 10:14

Hallo McG,

warum "MouseUp"? Nimm doch "ValueChange"!
Dann einfach einen Vergleich von "altem" und "neuem Wert" und du weißt, welche LED geklickt wurde...

Nochmal:
Zitat:(Die Auswertung des Arrays erfordert auch keine Extrabehandlung jeder einzelnen LED!)



Schiffe versenken - LED Eingabematrix - McGonahy - 01.02.2011 10:14

' schrieb:Hallo McG,

nimm ein Array von LEDs. Dann hast du nur einen Eventcase...
(Die Auswertung des Arrays erfordert auch keine Extrabehandlung jeder einzelnen LED!)

Aber ich muss ja an jedes Element (LED) ran um zu wissen was genau geklickt worden ist. Dann hab ich wieder pro Zeile/Spalte 8x die Arbeit :-s


Schiffe versenken - LED Eingabematrix - GerdW - 01.02.2011 10:17

Hallo McG,

nochmal: Die Auswertung des Arrays erfordert auch keine Extrabehandlung jeder einzelnen LED!

LabVIEW kann Operationen auf komplette Arrays anwenden!
Du kannst:
- das komplette Array nutzen, um Herauszufinden, welche LED geklickt wurde
- das komplette Array nutzen, um auf "Treffer" zu vergleichen (sind halt alles nur boolsche Operationen)


Schiffe versenken - LED Eingabematrix - McGonahy - 01.02.2011 10:20

' schrieb:Hallo McG,

warum "MouseUp"? Nimm doch "ValueChange"!
Dann einfach einen Vergleich von "altem" und "neuem Wert" und du weißt, welche LED geklickt wurde...

Nochmal:

Hmmm...stimmt, das gibts ja auch noch... :-) Gut, damit kann man die Eingabeauswertung schon mal kürzen...


Schiffe versenken - LED Eingabematrix - McGonahy - 01.02.2011 10:29

Ähm, wie vergleich ich eigentlich altes und neues Array? Refernz auf Array mit Array selbst vergleichen?


Schiffe versenken - LED Eingabematrix - GerdW - 01.02.2011 10:32

Hallo McG,

Zitat:wie vergleich ich
Mit einem Vergleichsoperator?

So, wie ich es mit Worten weiter oben beschrieben hatte:
[attachment=32050]


Schiffe versenken - LED Eingabematrix - Martin Heller - 01.02.2011 10:36

Hi

Vielleicht kannst mit dem .vi etwas anfangen

Lv85_img
[attachment=32051]