Registriert: Di Nov 18, 2008 11:10 Beiträge: 23 Wohnort: Hamburg
Hallo
Ich bin grade dabei ein Snake Spiel zu Programmieren und stehe nun grade vor einem Problem:
wenn snake ein Futter ist dann soll sie sich verlängern... soweit so gut...
Schlange: B B B B B B
beim Bewegen(z.b.nach oben) tut sie immoment dies: B B B B B B
alte position = A........................................................... (A A A A A A)
Sie soll aber: B
......................B B B B B
Die Einzelteile der schlange sollen also immer dem ersten folgen...
Hat jemand eine einfache Idee?
(schuldigung, ich wusste nicht wie ich das besser erklären sollte)
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich glaub du machst es dir zu schwer. Anstatt Teile anderen Folgen zu lassen, solltest du vorne neue Segmente platzieren, und hinten welche verschwinden lassen.
Das sieht dann so aus, als würde sie sich bewegen, in Wirklichkeit verschwinden nur hinten Teile, während vorne neue dazu kommen.
Beim Verlängern der Schlange geht es Ähnlich. Du lässt einfach das ende länger stehen, und zwar solange, bis die Schlange sich eine Anzahl Felder "weiterbewegt" hat.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Für Sprite based Umsetzung ist die von Flash die Performanteste und vorallem Code beste(kompakt und weniger Fehleranfällig).
Wenn es um bewegte Sprites geht, dann würde ich eine zweiseitige Linklist verwenden und einfach das aktuelle segment in die Richtung des vorigen Segmentes laufen lassen.
Das Vorderste Element wird dann gesondert geregelt, indem es von dem User bewegt wird.
Wenn du was frisst und deine Snake länger wird, dann kannst du einfach die am Ende der LinkList ran hängen und hast nicht die Speichermanagmentprobleme(anlegen, kopieren, zerstören), wie bei Arrays.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.