Hallo,
ich habe folgendes vor:
Ich habe ein Spielfeld mit 20x60 Feldern.
Um jedes Feld zu beschreiben benötige ich 4 int Zahlen. (ZielX, ZielY, SourceX, SourceY)
Da manche Felder doppelt belegt werden (2 Layer), glaube ich, ist eine ArrayList die bessere Wahl.
Das heißt 20x60 Felder ergeben 1200 Felder mit 4 Ints, manchmal sogar mit 8 ints.
Ich dachte daran ein Objekt für jedes Feld zu erstellen, welches die 4(8) Int Zahlen beherbergt. Das heißt ich hätte eine ArrayList mit 1200 Objekten.
Ist das Speicherverschwendung? Ein Objekt würde mir natürlich super Möglichkeiten bieten. Ich könnte Methoden implementieren, die mir ZielX usw ausgeben und auch einen Boolean ob es sich um ein 2 Layer Feld handelt.
Mein bisheriger Aufbau des Spielfeldes war mit einem 3D Array
Al[1][0][72] = 23;// Zielkoordinate X
Al[1][1][72] = 2;// Zielkoordinate Y
Al[2][0][72] = 5;// Quellkoordinate X
Al[2][1][72] = 1;// Quellkoordinate Y
Al[1][0][73] = 23;// Zielkoordinate X
Al[1][1][73] = 2;// Zielkoordinate Y (2. Layer)
Al[2][0][73] = 7;// Quellkoordinate X
Al[2][1][73] = 4;// Quellkoordinate Y
Wie gehe ich das Problem möglichst resourcenschonend an?
ich habe folgendes vor:
Ich habe ein Spielfeld mit 20x60 Feldern.
Um jedes Feld zu beschreiben benötige ich 4 int Zahlen. (ZielX, ZielY, SourceX, SourceY)
Da manche Felder doppelt belegt werden (2 Layer), glaube ich, ist eine ArrayList die bessere Wahl.
Das heißt 20x60 Felder ergeben 1200 Felder mit 4 Ints, manchmal sogar mit 8 ints.
Ich dachte daran ein Objekt für jedes Feld zu erstellen, welches die 4(8) Int Zahlen beherbergt. Das heißt ich hätte eine ArrayList mit 1200 Objekten.
Ist das Speicherverschwendung? Ein Objekt würde mir natürlich super Möglichkeiten bieten. Ich könnte Methoden implementieren, die mir ZielX usw ausgeben und auch einen Boolean ob es sich um ein 2 Layer Feld handelt.
Mein bisheriger Aufbau des Spielfeldes war mit einem 3D Array
Al[1][0][72] = 23;// Zielkoordinate X
Al[1][1][72] = 2;// Zielkoordinate Y
Al[2][0][72] = 5;// Quellkoordinate X
Al[2][1][72] = 1;// Quellkoordinate Y
Al[1][0][73] = 23;// Zielkoordinate X
Al[1][1][73] = 2;// Zielkoordinate Y (2. Layer)
Al[2][0][73] = 7;// Quellkoordinate X
Al[2][1][73] = 4;// Quellkoordinate Y
Wie gehe ich das Problem möglichst resourcenschonend an?