|
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: Timo Sandmann
Datum: Do, 25.10.2007 16:14:40
In-reply-to:
<812F86EC9E1A96489D5E83C2AB7D6886015A72F0@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References:
<812F86EC9E1A96489D5E83C2AB7D6886015A72F0@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Hallo,
Am 25.10.2007 um 11:23 schrieb Menzel, Frank IT-OO4:
Gibt's eigentlich schon im sim irgendwie die Möglichkeit, ein recht
schmales Objekt darzustellen zum Einfangen ? Oder eine Lampe
schmaler machen ? Oder eine Linie, die ja schon sehr schmal ist,
mit Höhe zu versehen ?
Lampen oder Linien können ja nicht bewegt werden, ein einzufangendes
Objekt müsste aber bewegt werden können. Es gibt zwar ein Interface
"Obstacle", aber keine Implementierung für ein bewegbares Objekt.
Lampen und Linien gehören außerdem zum jeweiligen Parcours, die
Objekte müsste man aber ja eigentlich beliebig in die Welt "werfen"
können. Eine Lampe z.B. bekommt auch nicht mit, wenn ein Bot gegen
sie gefahren ist (lustig wäre, wenn sie dann dunkel würde...), wenn
ein Bot aber ein Objekt schieben soll, dann muss das Objekt das
natürlich mitbekommen, damit es seine Position anpassen kann.
Eine andere Möglichkeit wäre, eine Objekt-Instanz vom ThreeDBot
abzuleiten, denn Bots können ihre Position ja ändern. Dann müsste man
MasterSimulator noch um einen Simulator für Objekte erweitern, der
aber nicht viel machen braucht (weil ein Objekt nicht viel kann).
Das Problem ist nur: Wenn man zwei Bots in eine Welt stellt, Bot 1
einfach nur rumsteht und Bot 2 jetzt gegen Bot 1 fährt, dann wird
zwar eine Kollision von Bot 2 erkannt, es wird aber keine Kollision
von Bot 1 erkannt, solange dieser sich nicht selbst bewegt. Ich weiß
nicht, ob das ein Bug ist, oder ob es schlicht nicht implementiert
ist, für ein bewegliches Objekt müsste das aber funktionieren, damit
das Objekt im Kollisionsfall verschoben werden kann.
Außerdem muss man irgendwie ermitteln, in welche Richtung das Objekt
geschoben wird und die Lichtschranke vom Bot muss auslösen, wenn sich
das Objekt im Transportfach befindet.
Ein paar Grundlagen gibt's im Sim also schon dafür, man müsste aber
auch noch einiges ergänzen würde ich mal so sagen.
Gruß Timo
|
|