03.04.2013, 18:47
Hallo Zusammen
ich habe folgendes Problem:
Ich programmiere einen Roboter welcher autonom auf einem Spielfeld fährt und dort verschiedene Aufgaben erfüllt. Wenn ein Gegnerischer Roboter erkannt wird, soll der Roboter sofort anhalten, einen neuen Weg berechnen und diesem folgen.
Das Problem liegt nun darin, dass wenn während der Fahrt ein Gegner erkannt wird, bricht die Fahrfunktion erst ab, wenn sie fertig ausgeführt wurde. Das ist natürlich zu spät, der Roboter muss sofort anhalten. Ich habe bereits folgende Varianten ausprobiert:
Fahrfunktion in eine While-Schlaufe. Als Abbruchkriterium die Gegnererkennung.
Fahrfunktion in eine Case-Struktur. Die Gegnererkennung ändert dann den Case von "Fahren" auf "Stoppen"
Interrupt: Die Fahrfunktion würde zwar abbrechen und es könnte auch ein zusätzlicher Weg eingeschlagen werden. Sobald dieser aber komplett absolviert wurde, würde der Roboter wieder versuchen den alten Code auszuführen.
Hat irgendjemand eine Idee? Besten Dank für eure Hilfe.
Gruss Patrik
ich habe folgendes Problem:
Ich programmiere einen Roboter welcher autonom auf einem Spielfeld fährt und dort verschiedene Aufgaben erfüllt. Wenn ein Gegnerischer Roboter erkannt wird, soll der Roboter sofort anhalten, einen neuen Weg berechnen und diesem folgen.
Das Problem liegt nun darin, dass wenn während der Fahrt ein Gegner erkannt wird, bricht die Fahrfunktion erst ab, wenn sie fertig ausgeführt wurde. Das ist natürlich zu spät, der Roboter muss sofort anhalten. Ich habe bereits folgende Varianten ausprobiert:
Fahrfunktion in eine While-Schlaufe. Als Abbruchkriterium die Gegnererkennung.
Fahrfunktion in eine Case-Struktur. Die Gegnererkennung ändert dann den Case von "Fahren" auf "Stoppen"
Interrupt: Die Fahrfunktion würde zwar abbrechen und es könnte auch ein zusätzlicher Weg eingeschlagen werden. Sobald dieser aber komplett absolviert wurde, würde der Roboter wieder versuchen den alten Code auszuführen.
Hat irgendjemand eine Idee? Besten Dank für eure Hilfe.
Gruss Patrik