Vor kurzem hatte ich das Vergnügen eine Funktion zu zaubern,
die in einer Anlage die Kameras schön der Reihe nach mit Intervallen
und zufälligen Zeiten angezeigen kann.
Das ist aber nicht der Grund, dass ich euch diese Funktion jetzt zeige,
nein, vielmehr kam mir beim Bearbeiten dieser Funktion die Idee,
dass es ohne große Änderungen an dieser Funktion möglich wäre,
in der Tabelle auch entsprechende Rangier- und Schaltaufgaben
einzutragen und diese dann zeitlich abzuarbeiten.
So nach der Art, Strings mit der Lua Funktion load() abzuarbeiten,
eventuell mit Platzhalter %s,
das wäre doch mal eine rezvolle Aufgabe.
So einfach wie Lua getrickt ist, so sind doch ganz passable Aufgaben machbar,
allerdings könnte uns Trend die gesamte Palette der Lua-Befehle zugestehen,
dann könnte wir auch "nach Hause telefonieren".
- -- EEP-Kameras mit zufälligem Intervall und Zeitdauer anzeigen, triggern in a_pool
- -- {0 oder 1 oder 2, "Name", 40 Dauer in sec. }
- function a_pool:CameraIntervall()
- local a_Cam = { {0,"Bhf-Oberdorf"},{0,"Drehscheibe"},{0,"Bhf_Nebenstr_West1",25},
- {0,"Rhade"},{2,"Zoo",40},{0,"Zoo_Ansicht",30}}
- if nextT == nil then nextT = EEPTime end
- if nextT == EEPTime then
- n = math.random(#a_Cam)
- local cmode = rawget(a_Cam, n ) -- keine Prufung auf Metatables
- EEPSetCamera( cmode[1], cmode[2] )
- if cmode[3] then nextT = cmode[3] + EEPTime else
- nextT = fw_random({10,15,20}) + EEPTime -- random Intervall zwischen 10 - 20 sec.
- end
- end
- end
Gruß Dieter