heise online · c't · iX · Technology Review · Telepolis · mobil · Security · Netze · Open Source · Resale · Foto · Autos · c't-TV · Jobs · Kiosk
Zum Inhalt
c't

c't Projekte - c't-Bot und c't-Sim - Mailinglisten

c't-Bot und c't-Sim


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

RE: [ct-bot] behaviour_map_go_destination

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