|
 |
 |
 |
|
|
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: Sa, 25.08.2007 01:48:29
In-reply-to:
<812F86EC9E1A96489D5E83C2AB7D688601309B7E@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References:
<812F86EC9E1A96489D5E83C2AB7D688601309B7E@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Hallo,
Am 24.08.2007 um 08:57 schrieb Menzel, Frank IT-OO4:
Hallo,
Anbei mal ein nettes kleines Explorer-Verhalten. Der bot fährt
solange geradeaus, bis er voraus ein Hindernis erkennt. An diesem
dreht er sich gewisse Zeit weg und das Spiel geht von vorn los. Die
zu drehende Richtung hängt einerseits vom Wandabstand der Sensoren
ab als auch bei Wand senkrecht voraus von einem Zufallswert.
erstmal danke für das interessante Verhalten. :-)
Ich habe aber noch ein paar Anmerkungen:
Die aus dem Olympic-Verhalten ausgelagerte Funktion "int16
is_obstacle_ahead(int16 distance)" sollte dann am besten auch aus der
olympic.c-Datei raus und in sensor.c, denn der Distanzsensor-
Vergleich wird ja nicht mehr nur von olympic benutzt.
Anstatt der Funktion "int8 time_reached(uint16 ms)" würde ich lieber
"bot_delay_behaviour" benutzen, so wie das u.a. auch bot_turn()
macht, dann haben wir den Code dafür nur einmal.
"int8 wall_is_vertical(void)" rechnet die Differenz in floating-point
Werte um, ich denke mal das ist eher ein Tippfehler und nicht
beabsichtigt, oder? Außerdem ist der Name der Funktion etwas
merkwürdig...
Die Geschwindigkeitsunterscheidungen für Sim-Bot und Real-Bot finde
ich auch nicht so gut, weil der Sim ja eigentlich den echten Bot
möglichst genau simulieren sollte, auch wenn es im Sim (bisher)
keinen Nachlauf des Bots gibt.
Der Patch umfasst neben den notwendigen Änderungen und neuen
Codezeilen auch hunderte "Änderungen", die ausschließlich ein oder
mehrere Leerzeichen am Ende von bereits bestehenden Codezeilen
entfernen oder ergänzen. Das macht den Patch erstens ziemlich groß
und zweitens sehr unübersichtlich (weil sich dort eigentlich gar
nichts geändert hat). Wenn ich das so ins SVN übernehme, haben wir
extrem viele Änderungen, die nichts bewirken und zu Lasten der
Übersichtlichkeit im Changeset gehen. Hier wäre ein Patch, der nur
das ändert, was auch wirklich neu oder geändert ist, sehr
wünschenswert...
Viele Grüße,
Timo
|
|
|