Gringorius Geschrieben 8. April 2003 Geschrieben 8. April 2003 Hallo Ich versuche Nibbles a.k.a. Snake in c++ programmieren. Da ich neu bei dem Thema bin bräucht ich da noch Hilfe: Und zwar eine elegante Lösung zu finden für den Schwanz des Wurms. Sollte ich einfach ein Array nehmen, das die Koordinaten jedes Teiles des Wurms enthält? Dann müsste ich jede Runde neu sortieren um den letzten Teil des Arrays , also das Schwanzende, löschen zu können (wenn sich der Wurm bewegt) Kann mir da einer weiterhelfen? Ratschläge, Vorschläge, ... Danke!
Stevie Geschrieben 8. April 2003 Geschrieben 8. April 2003 Original geschrieben von Gringorius Dann müsste ich jede Runde neu sortieren um den letzten Teil des Arrays , also das Schwanzende, löschen zu können Nö, nicht sortieren, sondern einfach die Werte um eins nach hinten in dem Array verschieben und das erste Element neu besetzen. Der letzte Wert fällt dann weg. Wenn die Schlange länger wird, setzt du die Länge des Arrays (muss ja nicht dynamisch sein für den Anfang) höher.
Klotzkopp Geschrieben 8. April 2003 Geschrieben 8. April 2003 Falls du die STL benutzen kannst/darfst, würde sich std::queue anbieten.
Gringorius Geschrieben 8. April 2003 Autor Geschrieben 8. April 2003 haha! da lach ich über mich das ich nicht selbst drauf gekommen bin.. einfach alles einzeln verschieben... au weia!! :-) DANKE!!! Was ist STL und std::queue? Kannst du das kurz erklären? Wenns nicht zu lange dauert ;-) Wie gesagt, ich programmiere noch nicht lange und bringe es mir genaugenommen auch nur selbst bei (bzw. versuche es) von daher darf ich alles benutzen aber kann es nicht :-(
Crush Geschrieben 8. April 2003 Geschrieben 8. April 2003 Es reicht doch auf zwei Zeiger durchs Array wandern zu lassen, wodurch Schwanz und Kopf festgelegt werden. So ist die Schlangenlänge nur durch die Arraygröße begrenzt und man muß nur die Zeiger hochzählen und bei Überlauf zurücksetzen. Es braucht auch nur ein Eintrag im Array neu gesetzt werden (die neue Kopfposition). Das ist auch ungefähr das Prinzip einer Queue und eine gute Übung für Zeiger. Wieso Du dort rumsortieren wolltest kapier ich allerdings nicht ganz.
PuppetMaster Geschrieben 11. April 2003 Geschrieben 11. April 2003 Original geschrieben von Gringorius Was ist STL und std::queue? Kannst du das kurz erklären? Wenns nicht zu lange dauert ;-) Die STL ist die Standard Template Library. Sie enthält eine ganze Menge an Container-Klassen die einem schon so manches Problem nehmen. Ich hab hier mal nen link dazu STL-Beschreibung
Timon Geschrieben 16. April 2003 Geschrieben 16. April 2003 STL ist meiner Meinung nach nicht dazu geeignet programmieren zu lernen. Die Templates geben zuviel vor, und man muss wenig selbst programmieren.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden