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! Zitieren
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. Zitieren
Klotzkopp Geschrieben 8. April 2003 Geschrieben 8. April 2003 Falls du die STL benutzen kannst/darfst, würde sich std::queue anbieten. Zitieren
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 :-( Zitieren
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. Zitieren
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 Zitieren
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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.