Gringorius Geschrieben 8. April 2003 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Stevie Geschrieben 8. April 2003 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 8. April 2003 Teilen Geschrieben 8. April 2003 Falls du die STL benutzen kannst/darfst, würde sich std::queue anbieten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gringorius Geschrieben 8. April 2003 Autor Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 8. April 2003 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PuppetMaster Geschrieben 11. April 2003 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Timon Geschrieben 16. April 2003 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.