Hier mal eine erste Annäherung, wie ein Programm zur Steuerung von Slotcars auf einer vorgegebenen Strecke (siehe Grafik) aussehen könnte und zwar unabhängig von der Spur, auf der gefahren wird.
Bei dieser Programmversion wird davon ausgegangen, daß der Start immer an der Start-/Ziellinie erfolgt.
Die Werte von 50% und 100% für die Speed sind willkürlich gewählt, da weder das Layout noch die Spannung bekannt sind und davon ausgegangen werden muß, daß die Programmierer keine eigenen Versuchsläufe auf der Bahn starten dürfen.
Mehr Sensoren auf der gleichen Streckenlänge würden die Genauigkeit mit der man die Geschwindigkeit anpassen könnte erhöhen.
Achtung, dies ist kein Java-Code!
Es ist folgendes bekannt:
• Eine Anzahl X von Sensoren
• Es kann zwischen dem Startsensor und den normalen Sensoren unterschieden werden
______________________
global zähler, speed, startsensor -- Variablendeklaration
startsensor=true
function rennen
if startsensor = true then -- Auto überfährt Startsensor
zähler=0 -- Rückstellung des Zählers
speed=50 -- Startgeschwindigkeit angegeben in %
else -- Auto überfährt einen beliebigen anderen Sensor
zähler=zähler+1 -- Welcher Sensor wird überquert
if zähler=3 then speed=100 -- Beschleunigung am Ausgang der Kurve
if zähler=5 then speed=50 -- Bremsen vor Eingang der Kurve
if zähler=9 then speed=100 -- Beschleunigung am Ausgang der Kurve
if zähler=10 then speed=50 -- Bremsen vor Eingang der Kurve
if zähler=15 then speed=100 -- Beschleunigung am Ausgang der Kurve
end if
if zähler=19 then startsensor=true else startsensor=false
rennen -- Aufruf der Funktion (rekursiv)
end
______________________
Das Programm könnte noch wie folgt erweitert werden:
• Variablen zum Zählen der Runden und der Zeit
• Abfrage beim Start, auf welcher Spur gefahren wird. Abhängig davon ließe sich die Geschwindigkeit in den Außenspuren der Kurven besser anpassen
• Anpassen der Geschwindigkeit an unterschiedliche Kurvenradien
• Abfrage, ob der erste Sensor nicht der Startsensor ist (Wenn der Wagen nach einem Rausflug an einer beliebigen Stelle wieder eingesetzt wird), um den Wagen mit 50% der Maximalgeschwindigkeit bis zum Startsensor fahren zu lassen.
Dieser Beitrag wurde am 12.05.2006 08:14:43 von Seth editiert