# Java 2D Spielfeld-Frage



## xx (28. Feb 2008)

Hi,
ich hätte eine Frage, ich habe eine Oberfläche aus 10x Quadrate besteht, die wiederrum ein großes Quadrat bilden besteht. also ist das Spielfeld 10*10 Felder groß. Wie vermittel ich jetzt den Spielstein (ein Quadrat mit einer einmaligen Farbe) das zB. nur eine Hälfte begehbar ist, und man auch nicht aus dem Bildschirm fahren kann?
Verwende ich am besten 2 Dimensionale Arrays für mein Programm?

Wenn das die klügste Idee wäre, wie machen es dann professionelle Spielemacher? ich glaube kaum das sie 2 Dimensionale Arrays verwenden mit der Größe 1xxxxxxxxxxxx oder?

Danke
xx


----------



## SlaterB (28. Feb 2008)

wie kommst du denn auf einem von 100 auf 1xxxxxxxxxxxx Felder?
meinst du damit eine frei begehbare Welt oder ähnliches?

dieses Spielfeld kann ja auch nur logisch bestehen,
der Spielstein ist dann eben auf Position 7666,4590 und es gibt eine Regel die besagt, dass x < 7500 verboten ist, 
fertig, mit 3 Variablen beschrieben stat 1 GB Speicher,

wenn du dagegen ein Spielfeld als Array hast,
dann kannst du dir den Komfort erlauben, weniger zu rechnen, sondern mehr Information intuitiver abzulegen,

dann musst du bei einer Bewegung von x=2 auf x=3 nicht für alle anderen Gegenstände schauen, ob die vielleicht schon x=3 haben,
sondern fragst einfach dieses Feld stehtJemandAufDirDrauf()?

oder bei Schach könnte jedes Feld die Eigenschaft istSchwarz() true/ false haben,
was man alternativ genausogut mit aus der Position x,y errechnen könnte, 

so in der Art sind die Möglichkeiten


----------



## xx (28. Feb 2008)

wie kommst du denn auf einem von 100 auf 1xxxxxxxxxxxx Felder?  
ja, ich meinte zb Counterstrike, das dann auf 2 Dimensionale Felder mit unterschiedlichen Höhen basiert, was finde ich eh ein irre aufwand wäre, aber möglich - denke ich.

Die andere Möglichkeit wäre also xKord/yKord (Spielfeld) und mit zB Pfeilrauf erhöht sich die pKord (Spieler) um 1 links rechts.... wie man halt drückt...somit könnte man zb sagen das x nicht größer als 5,5 werden darf um somit den Spielbereich einzugrenzen. Wäre natürlich eine andere Lösung

Welche wäre denn intellegenter? Ich schätze für kleinere komforablere (=leichtere, übersichtliche) Lösung arrays und die andere für alle anderen arten.

Jetzt wollte ich mal wissen ob ich nun da ich mich ja überall durchgelesen habe, und immer von überall etwas mit bekommen habe mal versichern:


Spielengine besteht aus (bei mir)

Grafik und Physik Engine

Grafik fügt/lädt Texturen und setzt sie an ihre Positionen an der Leinwand (Spielfläche)
und Physik berechnet dann die bewegungen, sprünge,...?

Und zusammen mit der Spielengine bringt man alle Funktionen zum laufen, nebenklassen/guis für zb keysettings, ki,... natürlich auch noch


danke
xx


----------



## Guest (28. Feb 2008)

Zur Array variante, es wäre doch gar nicht so schlecht, immer wieder  120*100 große arrays zu machen die dann immer neu initialisiert werden für die stage auf der man ist, die man in sektoren einteilt... wie mein ich das?

[] = array
[1] = arrayposition


[00][01][02]...
[11][12][13]
...

Das wäre glaube ich die beste Wahl für solch ein eher kleineres 2d spiel oder?


----------



## SlaterB (28. Feb 2008)

ich persönlich finde, dass zu recht ungenau von potentiell sehr komplexen Dingen sprichst
und kann da allgemein nix falsches oder wahres erkennen


----------

