# Spielfelder definieren und merken



## Vendetta (17. Jun 2012)

Guten Tag,
ich bin neu hier und habe mir, bevor ich mich angemeldet habe, die commuity angeschaut , welche mich überzeugt hat und ich jetzt ein teil davon bin 

naja meine eigenentliche frage bezieht sich auf ein spiel, welches ich gerade programmieren will um meine kenntnisse einwenig auszubauen und probleme lösbar mache.

Ich will ein spielfeld bauen, welches maximal die felder 32x32 annehmen kann, das spielfeld wurde mit opengl gebaut. 
Nun weiß ich nicht wirklich wie genau ich mir den feldtypen merken soll. es gibt insgesamt 3 feldtypen: bebaubar, nicht bebaubar und weg. Auf dem bebaubaren feldern sollen später türme positioniert werden und auf den wegen sollen dann sozusagen die einheiten rummlaufen, welche jeweils nur horizontal und vertikal laufen können. 
Ich habe an ein 2d array gedacht, freunde von mir raten eher zu einer liste, aber was für eine art liste soll ich dafür verwenden? 
es liegen insgesamt 100 maps auf unserem server mit koordinaten, welche die nicht bebaubaren felder enthalten und die wege, welche gelaufen werden können.
hat jemand von euch eine idee was genau ich benutzen kann um es am elegantesten zu lösen? und vllt gleich eine hilfe wie ich das in opengl umsetzen kann. ich habe eine beispielkarte an die ich mich gerade halte, die koordinaten einzulesen usw. ist kein problem, ich stehe eher vor dem problem welche liste geeignet dafür ist.

gruß,

vendetta ???:L


----------



## Vendetta (18. Jun 2012)

hat niemand von euch eine idee?


----------



## Fu3L (18. Jun 2012)

Ich verstehe nicht genau, wo das Problem liegt. Du hast eine Map, die in Tiles aufgeteilt ist. Diese Tiles haben Eigenschaften (es gibt 3 mögliche Varianten).
Wenn das Maximum 32x32 ist, spricht nichts gegen ein 2D Array. Erst wenn die Größe nicht wirklich absehbar ist, würde ich auf ne Liste wechseln.
Die anderen beiden Möglichkeiten wären eine Map<Point, Tile> und List<List<Tile>> (hier müsste man eh wieder über nen Index zugreifen, läuft auf ne ArrayList hinaus und dann kannste bei fester Größe gleich ein Array nehmen).
Zur Umsetzung mit OpenGL weiß ich nix^^


----------



## Ullenboom (18. Jun 2012)

Gegen ein zweidimensionales Feld spricht nichts. Der Typ wird dann zum Beispiel ein Enum sein:

enum Kacheltyp {
   bebaubar, nichtBebaubar, weg
}

und das das Array vom diesem Typ

Kacheltyp[][] kacheln;


----------

