myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

[C++] Mehrdimensionale dynamische Array

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 17.01.14, 21:19   #1
Maxor
 Machead
 
Benutzerbild von Maxor
 
Registriert seit: Jul 2010
Beiträge: 855
Bedankt: 631
Maxor ist schon ein Name im Untergrund. | 954 Respekt PunkteMaxor ist schon ein Name im Untergrund. | 954 Respekt PunkteMaxor ist schon ein Name im Untergrund. | 954 Respekt PunkteMaxor ist schon ein Name im Untergrund. | 954 Respekt PunkteMaxor ist schon ein Name im Untergrund. | 954 Respekt PunkteMaxor ist schon ein Name im Untergrund. | 954 Respekt PunkteMaxor ist schon ein Name im Untergrund. | 954 Respekt PunkteMaxor ist schon ein Name im Untergrund. | 954 Respekt Punkte
Standard [C++] Mehrdimensionale dynamische Array

Hallo Community,

bin noch relativ neu in C++ und bin gerade dabei mir ein ASCII Snake zu programmieren.
Dabei soll jedes Element bzw. jedes Ausgemalte Feld der Schlange in eine Mehrdimensionale Array gespeichert werden.

Code:
int iSchlangenPos[i][2]{{x1,y1}, {x2,y2}, {x3,y3}, ..., {xi,yi}};
Natürlich frisst die Schlange auch und somit wird 1 Feld mehr am Ende der Schlange ausgemalt.
Ich suche jetzt natürlich eine Möglichkeit das Array bei jeder Verlängerung um 1 zu vergrößern ohne das ich die vorherigen Werte verliere bzw. alles in ein neues Array (über eine Schleife mit Pointer etc.) mit i+1 schreiben muss. Hatte bis jetzt keine dynamischen Arrays aber bei 50 auf 50 Felder eine [2600][2] Array zu erstellen ist doch blöd oder?

Grüße Maxor
__________________
Die einfachste Art die Zukunft vorherzusagen, ist sie zu implementieren. (David Heinemeier Hansson)
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Maxor ist offline   Mit Zitat antworten
Ungelesen 18.01.14, 00:44   #2
gangstergangster
Mitglied
 
Benutzerbild von gangstergangster
 
Registriert seit: Dec 2008
Beiträge: 477
Bedankt: 115
gangstergangster wird langsam von ratten respektiert | 144 Respekt Punktegangstergangster wird langsam von ratten respektiert | 144 Respekt Punkte
Standard

mehrdimensionale, dynamische Arrays... ohje.. damit habe ich mich mal Nächte mit rumgeschlagen.. Brauchst du aber hier nichtmal.. da deine Schlange ja nicht unendlich groß werden kann..
Snake ist "gewonnen" indem du das gesamte Bild mit der Schlange ausgefüllt hast und kein Pixel leer bleibt. Somit kannst du dich ruhig beschränken..

wohingehend das Speichertechnisch vernüftig ist oder nicht.. :S kann ich dir leider auch nicht sagen,... klappen würds so jedoch
__________________
gangstergangster ist offline   Mit Zitat antworten
Ungelesen 18.01.14, 11:30   #3
Maxor
 Machead
 
Benutzerbild von Maxor
 
Registriert seit: Jul 2010
Beiträge: 855
Bedankt: 631
Maxor ist schon ein Name im Untergrund. | 954 Respekt PunkteMaxor ist schon ein Name im Untergrund. | 954 Respekt PunkteMaxor ist schon ein Name im Untergrund. | 954 Respekt PunkteMaxor ist schon ein Name im Untergrund. | 954 Respekt PunkteMaxor ist schon ein Name im Untergrund. | 954 Respekt PunkteMaxor ist schon ein Name im Untergrund. | 954 Respekt PunkteMaxor ist schon ein Name im Untergrund. | 954 Respekt PunkteMaxor ist schon ein Name im Untergrund. | 954 Respekt Punkte
Standard

Ich denke dann wird es wohl doch besser sein es über Pointer zu lösen.
__________________
Die einfachste Art die Zukunft vorherzusagen, ist sie zu implementieren. (David Heinemeier Hansson)
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Maxor ist offline   Mit Zitat antworten
Ungelesen 18.01.14, 13:47   #4
topic1991
Anfänger
 
Registriert seit: Sep 2010
Beiträge: 30
Bedankt: 7
topic1991 ist noch neu hier! | 0 Respekt Punkte
Standard

Kann leider noch kein C++.
In C jedoch geht das malloc und realloc.
Würde hier erst ein dynamisches Array mit malloc reservieren und dann mit realloc immer ein weiteres Element hinzufügen.
topic1991 ist offline   Mit Zitat antworten
Ungelesen 18.01.14, 18:36   #5
cortez442
Nur der Hamburger SV
 
Benutzerbild von cortez442
 
Registriert seit: Oct 2009
Beiträge: 476
Bedankt: 293
cortez442 ist unten durch! | -165 Respekt Punktecortez442 ist unten durch! | -165 Respekt Punkte
Standard

Alleine für das Wort "dynamisches Array" würde dich ein Großteil meiner Dozenten köpfen.

Du erstellst ein 2 Dimensionales Array, das dein Spielfeld abdeckt, x und y sind dabei als Konstanten zu deklarieren. Ein leeres Feld ist ne 0, ein Feld mit der Schlange ist eine 1 und die Frucht oder whatever du sammeln musst, ist eine 2. Für die Schlange selber solltest du eine Liste erstellen, damit du das FiFo Prinzip anwenden kannst.

Bei der Bewegung Checkst du den Wert des neuen Feldes. Bei einer 0 triggerst du die move Funktion, bei einer 1 ist das Spiel vorbei und bei einer 2 führst du die enlarge Funktion aus. Das ist quasi eine Funktion zum Bewegen, mit der Außnahme, dass du den ersten Eintrag der Liste nicht raus löscht. Zur besseren Übersicht erstellst du für die Koordinaten eine eigene Struktur mit dem Wertebereich deiner deklarierten Konstanten für die Feldgröße, um noch Ressourcen zu sparen.
__________________
Ein Fehler ist aufgetreten: der Vorgang wurde erfolgreich ausgeführt.
cortez442 ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 Uhr.


Sitemap

().