Absender: Timo Sandmann
Datum: Sa, 25.10.2008 23:42:34
In-reply-to:
<000001c936ce$de21a6c0$0200a8c0@mexpnew>
References:
<000001c936ce$de21a6c0$0200a8c0@mexpnew>
Hi Frank, Am 25.10.2008 um 20:23 schrieb Frank Menzel:
Hi Timo, ich meinte das reinschieben von vorn eigentlich folgendermaßen. Ausgangssituation so, wie von Dir vorgegeben: - Anfangssituation (keine Daten gespeichert): sp (Stackpointer / Index) = 3; fp (FIFO-Pointer / Index) = 3; count = 0 - Jetzt kommen 3 pushs, die die Daten x1, x2, x3 ablegen, dann sieht es im Array (hat hier jetzt mal 10 Plätze von 0 bis 9) so aus ( -- bedeutet keine Daten): | -- | -- | -- | x1 | x2 | x3 | -- | -- | -- | -- | ^ ^ fp = 3 sp = 6 count = 3Das nächste Verhalten (Pfadplanung) erhält "seinen" Stack ab Position 6.Dann wird ab Pos 6 reingeschoben, wieso Du die Werte nun links von x1 einzeichnest ist mir völlig unklar.
ah okay, da hatte ich dich falsch verstanden! Dein Vorschlag ist ja im Prinzip ein Stack, in dem es dann wieder "kleine" Stacks oder FIFOs gibt. Das funktioniert, solange auch jeder wieder ordentlich aufräumt. Wird ein Verhalten abgebrochen (z.B. durch Notaus), sieht's schon wieder problematisch aus. Wenn die "gemerkte" Grenze von einem Verhalten eh nie überschrieben wird (jedes Verhalten hat logisch seinen eigenen Bereich), dann ist es vielleicht besser, es gleich komplett zu trennen und verschiedene Arrays zu verwenden. Wenn sich pos_store jetzt irgendwo merkt, welches Verhalten welches Array benutzt, kann man spätestens dann aufräumen, wenn das Verhalten erneut aktiv wird (solange es ein Verhalten jeweils nur einmal geben kann wie im Moment).
Grüße,Timo