Absender: Menzel, Frank IT-OO4
Datum: Di, 20.05.2008 11:47:56
In-reply-to:
<483299C9.9030900@xxxxxxxx>
References:
<48C139945BA47F4DB4DE05DF62CD57AA03B4D1CCC0@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <483299C9.9030900@xxxxxxxx>
Hallo, so ganz verstehe ich nicht, wieso die Routinen nicht zugänglich sein sollen. Oder gibt es andere Cache-Äquivalente, die benutzt werden sollten von aussen ? In einem Verhalten habe ich ja nur die Bot x/y-Weltkoordinaten. Wenn ich auf Mapebene arbeiten will, muss ich diese umrechnen können in Mapkoordinaten, um z.B. den Abstand zum nächsten Hindernis laut Map berechnen zu können. Will ich einfach nur einen Wert innerhalb der Map auf einen bestimmten Wert setzen, brauche ich auch set_field... Mein Verständnis der Map war bisher nicht die Umgebungskarte als Schönheit in der hohen Auflösung zu haben, sondern diese eigentlich zu nutzen für intelligente Aufgaben. Und dazu brauche ich nach außen nutzbare Mapfunktionen... Oder was habe ich jetzt nicht verstanden ? Mit freundlichen Grüßen / best regards Frank Menzel -----Original Message----- From: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of Benjamin Benz Sent: Tuesday, May 20, 2008 11:29 AM To: Entwicklung rund um den c't-bot Subject: Re: [ct-bot] behaviour_map_go_destination Hi, Ich kann nur einen Teil der Fragen beantworten, für den Rest springt Timo hoffentlich ein: Beim Umbau/Tuning der Map haben wir auch erheblich aufgeräumt, da der Code einen Zustand erreicht hatte, indem sich midestens drei Generationen überlagerten. Im Rahmen dieser Entscfhlackung haben wir folgende Idee verfolgt: Map.h exportiert nur das absolut notwendige nach außen. Dazu gehört, dass die ganze innere Architektur, insbesondere der Zugriff auf die Fields nicht mehr public ist. Deshalb ist auch World_to_map() nicht public, weil es außerhalb von map.c nicht nötig sein sollte. Auch ein Update-Zugriff auf die Karte sollte eigentlich von außen nicht nötig sein. Die Updates erfolgen alle über den Map-Cache. MfG Benjamin Benz Menzel, Frank IT-OO4 schrieb: > Hallo, > wollte wieder mal das Verhalten behaviour_map_go_destination mit den nun neuen Map-Routinen verwenden und stelle fest, dass hier gar nichts mehr geht. > Folgendes ist mir in diesem Zusammenhang aufgefallen: > > > -in map.c gibt es das define OLD_GET_SET, welches defaultmäßig nicht gesetzt ist > In dem o.a. Verhalten benötige ich aber get_field und set_field, die aber nicht in der map.h deklariert sind. Was ist hier der Beweggrund, dies so zu deklarieren bzw. wie können diese Routinen in der map.h deklariert werden um darauf zugreifen zu können (mit dem define als auch ohne) ? > > > -Weitere Deklarationen fehlender map.c Routinen in map.h: > World_to_map > Way_free_fields > Update occupied > > > Diese sind in der map.c als static deklariert. Hier ist mir unklar, was dies genau bewirkt bzw. wie ich diese mit dem static in der map.h deklariere (bekomme ich nur ohne static hin). > > Vielleicht sollte generell erst einmal das verhalten rausgenommem werden bis diesen wieder funktioniert. Ich hoffe, ein Redesign hinzubekommen, zumindest wollte ich mich da ranmachen... > > Mit freundlichen Grüßen / best regards > Frank Menzel > _______________________________________________ > ct-bot-entwickler Mailingliste > ct-bot-entwickler@xxxxxxxxxxxxxxxxx > http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler > -- Benjamin Benz Heise Zeitschriften Verlag Redaktion c't eMail: bbe@xxxxxxxx WWW : http://www.heise.de Heise Zeitschriften Verlag GmbH & Co. KG Registergericht: Amtsgericht Hannover HRA 26709 Persönlich haftende Gesellschafterin: Heise Zeitschriften Verlag Geschäftsführung GmbH Registergericht: Amtsgericht Hannover, HRB 60405 Geschäftsführer: Ansgar Heise, Steven P. Steinkraus, Dr. Alfons Schräder _______________________________________________ ct-bot-entwickler Mailingliste ct-bot-entwickler@xxxxxxxxxxxxxxxxx http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler