c't Projekte - c't-Bot und c't-Sim -
Mailinglisten
[Voriger (Datum)]
[Nächster (Datum)]
[Voriger (Thread)]
[Nächster (Thread)]
[Nach Datum][Nach Thread]
Absender: Frank Menzel
Datum: Fr, 19.10.2007 21:06:05
In-reply-to:
<2ED99702-F14B-46F1-A8B7-E8D3D5977906@xxxxxxxxxxxxxxx>
Hallo,
in der todo-Liste ist mir vorhin der folgende Punkt aufgefallen:
Gefahren bot-logik.c Low-Level-Verhalten muessen
andere ueber Gefahren warnen
Ich wollte dazu nur kurz anmerken, dass es diesen Punkt eigentlich
bereits realisiert gibt, aber nie direkt so gesagt wurde.
Dazu gibt es ja die Funktion register_emergency_proc, welche ich auch an
mehreren Stellen einsetze. Damit können beliebige Verhalten ihre eigenen
Routinen registrieren, um auf einen Notfall verhaltensabhängig reagieren
zu können. Die Verhaltensroutinen werden durch die Registrierung in
einem kleinen Array gespeichert und bei Gefahr der Reihe nach
abgearbeitet mittels der Routine start_registered_emergency_procs in den
Gefahrensverhalten:
-behaviour_hang_on
-behaviour_avoid_border
Bisher reagieren folgende Verhalten bei Gefahr:
-behaviour_map_go_destination -> Lochkennzeichnung in der Map und
rückwärts
-behaviour_follow_wall -> wegdrehen und rückwärts
Die zu registrierenden Routinen sollten als Namen hinten immer
"_handler" heißen, also z.B. border_mapgo_handler.
In der Doku zur Pfadplanung ist dies kurz beschrieben.
Wollte ich nur mal erwähnt haben :-)
Gruß, Frank Menzel