![]() |
AW: Snake - Ein Problem mit dynamischen Arrays
Servus,
Habe mir da mal ein Paar Gedanken zu dem Denkanstoß gemacht und etwas weitergedacht. Wenn man nun die Koordinaten aller Gegenstände von Snake (Schlangenteile, Äpfel, Wände etc.) in einem Array, also einer Art Karte, speichert, stellt sich mir das Problem, wie ich ihm sage wo sich die Schlange befindet und wo deren Kopf liegt (wobei letzteres noch einfach zu erledigen ist) Müsste dort nicht ein weiteres (kleineres) Array zum Einsatz kommen, wo nur Koordinaten der Schlange gespeichert werden ? Vllt. wäre es noch möglich die "Karte" zu durchsuchen um so an die Stellen zu gelangen, doch dies würde doch enorme Performance Verluste mit sich ziehen oder irre ich da ? :idea: Werde derweil mal weiter Basteln :-D |
AW: Snake - Ein Problem mit dynamischen Arrays
Statt
Zitat:
Deine Fehler sind für mich allein aus der Quelltextbetrachtung nicht nachvollziehbar. Ob dynamische Arrays intern "verzeigert" sind, ist mir nicht bekannt (zumindest gibt der Debugger keine Speicheradressen, sondern Variableninhalte aus), doch selbst wenn, daran können Deine Probleme m.E. nicht liegen. Ich würde an Deiner Stelle - rein aus Interesse - mit dem internen bzw. integrierten Debugger der Sache auf den Grund zu gehen versuchen. |
AW: Snake - Ein Problem mit dynamischen Arrays
Zitat:
Und was den Debugger anbelangt: Kenne mich mit dem nicht so wirklich aus :oops: wenn es sich um dieses Schritt für Schritt ausführen handelt, das man mit F7 Startet, dann habe ich es schon getestet. Dabei habe ich festgestellt, dass das Array genau so verschoben wird, wie ich es haben will. Allerdings kommt dann bei der neuen Wertzuweisung der Fehler: beide werden verändert und nicht nur die Werte an Stelle [0] (so kam ich ja auf die Idee, dass es sich bei dyn. Arrays um Zeiger handelt, und er somit 2mal mit den selben Werten arbeitet. :shock:) What ever. Da ich Notgedrungen (Bluescreen :roll:) eh alles neu machen darf, werde ich mich mal um die Version mit einer "Karte" kümmern. Vllt kommt mir ja noch eine Idee |
AW: Snake - Ein Problem mit dynamischen Arrays
Zitat:
![]() |
AW: Snake - Ein Problem mit dynamischen Arrays
Soso :roll: ständig lernt man mehr :D
Eine weitere Idee war zur Bewegung: Könnte man es mit einem Try .. exept Block lösen ? Wenn sich die Schlange nun aus dem Spielfeld beweg, also aus dem Bereich des Arrays, würde dies ja zu einer Zugriffsverletzung im Speicher führen. Wenn man ihm aber sagt, dass er dann (exept) ein Leben (oder was auch immer) abziehen soll und die Schlange neu positioniert, wäre doch alles in Ordnung oder ? Hoffe ihr versteht, was ich meine :lol: |
AW: Snake - Ein Problem mit dynamischen Arrays
Zitat:
|
AW: Snake - Ein Problem mit dynamischen Arrays
:shock: Das sollte man auch tun. Exceptions als Mittel zur Ablaufsteuerung sind eine ganz schlechte Wahl.
|
AW: Snake - Ein Problem mit dynamischen Arrays
Zitat:
Vllt blicke ich den Post auch nicht weil ich Kopfschmerzen habe :lol: /EDIT: Ahh, es bezog sich vermutlich auf den vorherigen Beitrag, dass man es auch sauberer lösen kann. Hat sich also erledigt ;) |
AW: Snake - Ein Problem mit dynamischen Arrays
Zitat:
[edit] Sry, ich wollte editieren und nicht neu posten. Immerhin sollte der Bezug meiner Aussage nun klarer sein. [/edit] |
AW: Snake - Ein Problem mit dynamischen Arrays
Spontan und sauberer wäre folgendes - Pseudocode:
Code:
- Kopf der Schlange mit dem nächsten Feld vergleichen
- wenn frei dann darf ich mich dahin bewegen - wenn nicht frei - gucken ob es Futter ist > Schlange wachsen lassen usw - gucken ob es die Wand ist - wenn ja dann verloren |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz