- heise online
- c't Magazin
- iX Magazin
- Technology Review
- Telepolis

- heise mobil
- heise Security
- heise Netze
- Open Source
- heise Developer

- heise Resale
- heise Foto
- heise Autos
- c't-TV

- Software/Download
- Stellenangebote
- Preisvergleich
- IT-Markt

- heisetreff
- heise Veranstaltungen
- heise Whitepapers
- Abo&Heft
- Archiv

####

####

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]

### AW: [ct-bot] bot_drive_area()-Frage

Absender: Frank Menzel
Datum: Mi, 18.02.2009 16:39:57
In-reply-to: <A196DEAC-B8C5-4C0F-8D75-92F5733ADF8E@xxxxxxxxxxxxxxx>

    Hi Timo,
    Antwort unten angefügt...

    Gruß, Frank

    -----Ursprüngliche Nachricht-----
    Von: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx
    [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] Im Auftrag von Timo
    Sandmann
    Gesendet: Mittwoch, 18. Februar 2009 14:29
    An: Entwicklung rund um den c't-bot
    Betreff: Re: [ct-bot] bot_drive_area()-Frage

    Hi Frank,

    Am 18.02.2009 um 12:32 schrieb Menzel, Frank IT-OO4:
    > Prinzipiell schon, habe aber das Problem, dass ich da irgendwie
    > einen Zähler mitgeben möchte. Der Sinn ist der, dass wenn eine
    > Strecke aktuell nicht anfahrbar ist, diese nicht verworfen sondern
    > mit erhöhtem Zählerwert vorn reingeschoben wird. Erst nach x-
    > Versuchen (z.B. Zähler der Strecke > 5) des Anfahrens wird diese
    > Strecke verworfen.

    so ganz habe ich noch nicht verstanden, was du meinst. Wenn eine
    Strecke nicht anfahrbar ist, setzt du einen Zähler für die Strecke auf
    1 und packst sie vorne in den Stack. Jetzt geht es mit der letzten
    Strecke aus dem Stack weiter. Irgendwann sind dann alle Strecke aus
    dem Stack mit pop() geholt worden und es ist nur noch die
    "Zurückgestellte" mit dem Zähler == 1 dort drin. Jetzt wird diese
    geholt und beim Auslesen merkst du, dass der Zähler auf 1 steht. Jetzt
    ist die Strecke immer noch nicht anfahrbar und du erhöhst den Zähler
    auf 2, anschließend kommt die Strecke wieder vorne in den (jetzt
    leeren) Stack. Und nun?
    Verstehe ich das soweit erstmal richtig?
    Ja genau, ist aber nicht nur die eine Strecke, sondern ja möglicherweise
    mehrere. Um diese nicht gleich zu verwerfen und damit auch auch
    kompletten anderen Weg nicht mehr anfahren zu können, versuche ich auf
    diese Weise mehrmals diese anzufahren. Wenn der Bot woanders ist, kann
    es ja durchaus sein, dass von anderer Position aus der Weg dorthin nun
    frei ist-braucht man bei eingeschalteter Pfadplanung natürlich nicht.
    Wenn dies eben die letzte Strecke im Stack ist (da macht das vorn
    einfügen aber auch keinen Sinn), wird diese maximal 2-3 mal genommen und
    auf Weg dorthin frei gecheckt. Falls immer noch nicht frei eben
    verworfen.

    > Ohne Zähler ist ja nicht bekannt, wie oft ich diese Strecke schon
    > versucht habe anzufahren und würde Endlosschleife mit sich
    > bringen...Wie kann hier am besten ein Zähler mit rein?

    Man braucht ja einen Zähler pro Strecke, also für jeden zweiten Stack-
    Eintrag, richtig? Entweder bekommt jeder Stack-Eintrag ein Byte mehr,
    wo du beliebige Werte von 0 bis 255 speichern kannst, dann hätten wir
    25 % mehr RAM-Verbrauch für jeden Stack. Oder der Stack bzw. Speicher
    kann unterschiedliche Datentypen speichern, Positionen (x und y),
    Strecken (x1, y1, x2, y2) und Strecken mit Zähler (x1, y1, x2, y2, z).
    Dann hätte der Stack für das Area-Verhalten zwar immer noch zusätzlich
    1 Byte pro Strecke belegt (+ 12,5 % RAM), egal ob der Eintrag nun
    einen Zähler braucht oder nicht, alle anderen Stacks der anderen
    Verhalten würden aber keinen Speicherplatz verschwenden.
    Alternativ dazu: Das Verhalten macht selbst eine Liste auf und
    speichert zu interessanten Positionen des Stacks (Index im Stack-
    Array) einen Zähler.

    Auch richtig, jeder 3. Wert wäre der Zählertyp. OK wäre z.B. die
    y-Koordinate umsonst. Guck ich mir noch mal an...

    Gruß,
    Timo

    _______________________________________________
    ct-bot-entwickler Mailingliste
    ct-bot-entwickler@xxxxxxxxxxxxxxxxx
    http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler

- Antworten:
  - Re: [ct-bot] bot_drive_area()-Frage
    - From: Timo Sandmann

- Referenzen:
  - Re: [ct-bot] bot_drive_area()-Frage
    - From: Timo Sandmann

- Voriger (Datum): Re: [ct-bot] bot_drive_area()-Frage, Timo Sandmann
- Nächster (Datum): Re: [ct-bot] bot_drive_area()-Frage, Timo Sandmann
- Voriger (Thread): Re: [ct-bot] bot_drive_area()-Frage, Timo Sandmann
- Nächster (Thread): Re: [ct-bot] bot_drive_area()-Frage, Timo Sandmann
- Indizes:
  - Datum
  - Thread

- Aktuelles Heft
- Aktuelles Editorial
- Websites aktuell

#### Support

- Hotline & FAQ
- Treiber & BIOS
- Firmenkontakte

#### Download

- Software zu c't
- Software-Verzeichnis
- c't-Projekte
- Testbilder & Vorlagen

#### Magazin

- Heftarchiv
- c't specials
- Leserforum
- c't-Bildmotive
- Schlagseite

#### Info

- Abo & Heft
- Veranstaltungen
- Mediadaten
- Kontakt
- Impressum

Kleinanzeigen und
Veranstaltungen

- Datenschutzhinweis
- Impressum
- Kritik, Anregungen bitte an c't-WWW
- Mediadaten
- Copyright © 2009 Heise Zeitschriften Verlag
- International: heise online UK, heise Security UK, heise open source UK, heise networks UK, heise online Polska, heise Security Polska, heise Open Source Polska, heise Networks Polska