Reaktionstester

Golden Egg

Level-1
Beiträge
272
Reaktionspunkte
26
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.
Ich muss einen Reaktionstester mit kleiner Visualisierung realisieren.
Bei dem Reaktionstester handelt es sich um 4 Taster mit separat ansteuerbaren Lampen in jedem Taster.
Die Visu läuft dann über meinen Laptop (wincc flex 2007).
Nach dem Start messe ich die Zeit z.B. für 15 Reaktionen. Die Zeit erzeuge ich über den Taktmerker 100.0 (10Hz).

Jetzt muss ich nur noch eine High score basteln, wo z.B. die Besten 6 mit ihrem Namen (oder Kürzel) und ihrer Zeit erfasst werden.
Da könnte ich ein paar Anregungen gebrauchen.
 
Für Name (oder Kürzel) und Score ein UDT anlegen, so daß der Datensatz immer beisammengehalten wird.
Eine Liste von 6 (oder wieviel du willst) Indizes auf die UDTs anlegen.
Warum Indizes? : Der Name kann viele Bytes umfassen und der Score noch ein paar. Beim Umschichten müßtest du alle bewegen. Besser, du bewegst nur einen Index.
Die Liste füllst du anfangs mit lauter Zeigern auf einen "Dummy" (Platzhalter), z.B. Name:Niemand Score:0
Gibt es einen neuen Score, vergleiche ihn mit dem letzten Eintrag. Kleiner: Nicht High-Score-würdig.
Größer: solnge mit höheren Einträgen vergleichen, bis entweder Anfang der Liste erreicht oder ein höherer Eintrag gefunden. Bei höherem Eintrag 1 zurück.
Position merken.
Alle niedrgeren Einträge 1 tiefer setzen. Der letzte fällt heraus.
Neuen Eintrag auf gemerkte Position schreiben.

Ja, das kann man notfalls in AWL machen. Zur Adressierung von UDTs oder beliebig langen Daten in einem DB über Indizes in einem andern DB such mal nach "Bubblesort", da habe ich ein Beispiel für sowas gegeben.
Viel einfacher geht es in SCL, da nimmt der der Compiler die Adressberechnung und die Buchführung über die Verwendung der Adressregister ab.
 
Zurück
Oben