Hallo liebe Community, ich bin auf der Suche nach alternativen Lösungswegen, ein Spielbrett in Java zu modellieren. Die naheliegende Antwort wäre ja ein mehrdimensionales Array, in welchem ich Feld-Objekte speichere; Problem dabei: zwischen den einzelnen Feldern können sich Mauern befinden.
2 Möglichkeiten, die mir eingefallen sind:
Ihr seht schon, keine der beiden Lösungen ist optimal, und mir ist bisher noch keine wirklich sinnvolle Lösung eingefallen. Eine mögliche Variation der zweiten Variante wäre noch, eine eigene Datenstruktur zu erstellen, die automatisch beim Einfügen eines Feldes mit Wand, das nachfolgende/darunterliegende,... Feld auch mit einer Wand in seinen Variablen ausstattet.
Allerdings hoffe ich natürlich, dass mir jemand eine schönere Lösung empfehlen kann, wie man mit solchen Problemen am besten umgeht bzw. welche Datenstruktur man am besten verwendet.
Vielen Dank schon einmal im Voraus
2 Möglichkeiten, die mir eingefallen sind:
- Ein Array mit einer Größe von der doppelten Feldanzahl, in den "Zwischenräumen" kann ich eine Mauer platzieren. Allerdings wird das Spielbrett so relativ groß und unübersichtlich.
- Ein Array mit den selben Größen wie das Original verwenden, und in jedem Feldobjekt vier boolean-Platzhalter für eine Mauer (links, rechts, oben, unten) vorbereiten. Problem hierbei ist, dass ich bei der Initialisierung des Spielbretts und der Feld-Objekte darin, besonders aufpassen muss, da eine Mauer dann nicht nur in einem Feld ist, sondern auch in dem Feld daneben/darunter/darüber. Das wird vermutlich das Spielbrett auch nicht übersichtlicher machen, insbesondere, da ich bei der Initialisierung der Spielfelder nochmal 4 Übergabeparameter mehr habe.
Ihr seht schon, keine der beiden Lösungen ist optimal, und mir ist bisher noch keine wirklich sinnvolle Lösung eingefallen. Eine mögliche Variation der zweiten Variante wäre noch, eine eigene Datenstruktur zu erstellen, die automatisch beim Einfügen eines Feldes mit Wand, das nachfolgende/darunterliegende,... Feld auch mit einer Wand in seinen Variablen ausstattet.
Allerdings hoffe ich natürlich, dass mir jemand eine schönere Lösung empfehlen kann, wie man mit solchen Problemen am besten umgeht bzw. welche Datenstruktur man am besten verwendet.
Vielen Dank schon einmal im Voraus