c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

[ct-bot] Mehrere Instanzen eines Verhaltens

Absender: Timo Sandmann
Datum: Di, 02.09.2008 16:41:48


Hallo,

ich hatte jetzt bereits zweimal das Problem, dass ein Verhalten nur einmal aktiv sein kann. Insbesondere bei den Grundverhalten wie bot_turn() oder bot_cancel_behaviour() wäre es schön, diese auch mehrfach aktivieren zu können. So könnte man z.B. bot_cancle_behaviour() in bot_goto_obstacle() verwenden, ohne Probleme zu bekommen, wenn der Aufrufer von bot_goto_obstacle() selbst bot_cancel_behaviour() verwendet. Außerdem bräuchte ich das für ein Notfallverhalten, welches Hindernisse umfahren und danach zum alten Verhalten zurückkehren soll, gerade für die Hindernisumfahrung sind bot_turn() & Co. sehr hilfreich und müssten nicht doppelt implementiert werden.

Idee: Bestimmte Verhalten (die entsprechend angepasst sind) können auch mehrfach aufgerufen werden, das Ganze bleibt aber kompatibel zu Verhalten, die das nicht können / brauchen.
Pro: s.o.
Contra:
- Man kann Verhalten nicht mehr so ohne Weiteres über den Verhaltensscreen starten (nutzt den überhaupt jemand?). Das sollte mit Ticket #168 aber eigentlich keine wirkliche Einschränkung mehr sein. - Das Verhaltenssystem wird komplexer .Da es mehrere Instanzen von Verhalten geben kann, sind diese nicht mehr eindeutig an ihrer Priorität zu identifizieren. Außerdem ist es eventuell etwas schwieriger zu durchschauen, welches Verhalten von wem gestartet wurde usw.

Meinungen?

Grüße,
Timo