Frage zum GUI-Design bei Brettspielen

Status
Nicht offen für weitere Antworten.

Boar

Mitglied
Moin,

mir geht seit längerem ne Frage durch den Kopf:

Mir fallen spontan 2 Ansätze ein, wie man ein (Swing-) GUI für ein simples Brettspiel aufbauen könnte.
Einmal könnte man nur mit der paintComponent-Methode arbeiten und alle Elemente auf dem Brett zeichnen.
Der zweite Ansatz (so hab ichs bisher meistens gemacht) wäre, über das Brett-Panel verschiedene JLabels zu legen und die Elemente (Spielfiguren) in den Labels zu platzieren.

Als Beispiel mal Mensch ärger dich nicht: Wenn man alle Elemente (Spielfelder & Spielfiguren) mit paintComponent zeichnet, müsste man jedes mal die Koordinaten berechnen, oder? Wenn man jedes Spielfeld als JLabel realisiert, platziert man die Labels einmal und lässt dann die Spielfiguren von Label zu Label springen.

Meine Frage ist jetzt, ob es hier eine Standard-Variante gibt, also das eine der beiden Varianten deutliche Vorteile mit sich bringt, oder ob es einfach Geschmackssache ist?

Gruß,
Boar
 

The_S

Top Contributor
Das kommt immer darauf an was du machen möchtest. Ein Brettspiel mit sehr viel statischen Inhalt und wenigen Animationen würde ich auch eher so wie du lösen. Ein Jump & Run Spiel z. B. würde ich aber aufgrund der hohen Anzahl an Animationen und des dynamischen und flexiblen Inhalts eher selber Zeichnen.
 

AlArenal

Top Contributor
Nein, es gibt keinen "Brettspiel-Standard" in Java. Man macht es so, wie man es am besten umgesetzt bekommt und wie man es am besten erweiterbar hält.

Im ersten Schritt ist eine Umsetzung des View über JLabel für die Spielfelder sicher nen gangbare Methode. Sobald du aber etwas zeichnen musst, was sich nicht an die Grenzen der Spielfelder hält, wirds pfriemelig.

Der Ansatz sich seinen View selbst zu stricken ist der deutlich vriablere Weg, während der JLabel-Weg schneller zu einem ersten Ergebnis führt. Wenn man MVC halbwegs ordentlich implementiert hat, sollte man problemlos mit der einfachen methode anfangen können (um schnell zu einem Ergebnis zu kommen und die Logik zu implementieren und zu testen) und kann später parallel zum bereits lauffertigen Spiel einen neuen View entwickeln, der etwas mehr Eye-Candy bietet und später ermöglicht zusätzliche Funktionen einzubringen (Visualisierung/Animation von Spielzügen/Figuren, ...).
 

Lim_Dul

Top Contributor
Ich kann mal meinen Ansatz darstellen, ich hab das Spiel Carcasonne implementiert.

Die einzelnen Karten, die man legt sind jeweils JPanels mit einem null Layout, die auf einem null Layout Spielfeld liegen.

Das Spielfeld ist im Prinzip ein Gitter, ich hab mich aber gegen einen LayoutManager entschieden, dass das GridLayout dafür nicht geeignet ist. (Da kann man nicht einfach zellen leer lassen)
Das GridBagLayout würde gehen, aber a) konnte ich damals das nicht wirklich und b) fand ich die freiheit dafür sinnvoll.

Auf den einzelnen Karten sitzen die Figuren und sonstige Extra-Elemente als durchsichtige Panels, die nur ein Bild darstellen.

Um Koordinaten berechnen wird man aber meines Erachtens irgendwann nicht drumherum kommen, da man es bei Spielfeldern meistens mit Graphiken zu tun hat, die man gerne auch pixelgenau plazieren will.
 

Boar

Mitglied
Ok, dankeschön! Da hab ich doch mal ein paar Ansätze/Ideen, mit denen sich was anfangen lässt.

Schönes Wochenende
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Minecraft Frage für einen Minecraft Server Spiele- und Multimedia-Programmierung 2
G [Java/KryoNet/LibGDX] Mutliplayer Packet Frage Spiele- und Multimedia-Programmierung 2
G [Java Server] Allgemeine Frage zum Thema Networking in Videospielen Spiele- und Multimedia-Programmierung 15
J Frage zum Einlesen einer .wav in ein byte Array Spiele- und Multimedia-Programmierung 3
S ImageSlider frage Spiele- und Multimedia-Programmierung 3
Anfänger2011 Minimap: Theoretische Frage zur Umsetzung Spiele- und Multimedia-Programmierung 2
Androbin Kollisions-Frage Spiele- und Multimedia-Programmierung 8
windl Frage zu Airplay und zur Mitarbeit bei einer Mediaanlage Spiele- und Multimedia-Programmierung 0
S LWJGL Kamera Frage Spiele- und Multimedia-Programmierung 2
P Frage zu einem Projekt "Einarmiger Bandit" 3 Walzen / 9 Zeichnungen BLUEJ Spiele- und Multimedia-Programmierung 10
Guybrush Threepwood Ketzerische Frage: Opus-Codec für Java Spiele- und Multimedia-Programmierung 14
CookieSoft OpenGl Translatef Frage Spiele- und Multimedia-Programmierung 2
Kenan89 Theoretische Frage zu Tile Spielkarten Spiele- und Multimedia-Programmierung 9
R Tileloader Frage Spiele- und Multimedia-Programmierung 2
S Frage: NullPointer, aber warum? Spiele- und Multimedia-Programmierung 8
J Anfänger Frage wie adden? Spiele- und Multimedia-Programmierung 9
R Frage zur Kollision Spiele- und Multimedia-Programmierung 5
M.F.G. Spielvorstellung (plus KI frage): Connect Four – Extreme Spiele- und Multimedia-Programmierung 11
Helgon OpenGL Blend Frage Spiele- und Multimedia-Programmierung 18
P Frage bzgl. TextAdventure Spiele- und Multimedia-Programmierung 11
K Frage zur 3D Entwicklung zwecks vorhandener Engines Spiele- und Multimedia-Programmierung 17
V Frage zu AffineTransforms Spiele- und Multimedia-Programmierung 2
N frage zu der mp3spi Spiele- und Multimedia-Programmierung 2
J Frage zu Threads Spiele- und Multimedia-Programmierung 5
C Frage zu Ray-Picking mit JOGL Spiele- und Multimedia-Programmierung 13
M VRML Loader(noob Frage) ^^ Spiele- und Multimedia-Programmierung 3
M Prinzipielle Frage: Kann Java Grafiken ausschneiden? Spiele- und Multimedia-Programmierung 3
R Frage zu Hütchenspielprogrammierung! Spiele- und Multimedia-Programmierung 47
V Frage zu Grafiken und Software! Spiele- und Multimedia-Programmierung 5
radiac Mal eine ganz Doofe Frage... verzeiht :) Spiele- und Multimedia-Programmierung 9
Developer_X Eine Frage zur ViewBesetzung Spiele- und Multimedia-Programmierung 28
H BlueJ Frage Spiele- und Multimedia-Programmierung 13
K Malefiz programmieren - Frage zu den einzelnen Spielfeldern Spiele- und Multimedia-Programmierung 5
G Ping Pong Frage Spiele- und Multimedia-Programmierung 17
0x7F800000 allgemeine frage zu Java 3D Spiele- und Multimedia-Programmierung 12
B Frage zur Spielsteuerung bei einem rundenbasiertes Spiel Spiele- und Multimedia-Programmierung 5
G frage zu tutorial Spiele- und Multimedia-Programmierung 3
M Frage eines Anfängers Spiele- und Multimedia-Programmierung 3
N Schiffe Versenken Frage zum Spielbrett Spiele- und Multimedia-Programmierung 24
N Generelle Frage: "GUI"-Werkzeuge Spiele- und Multimedia-Programmierung 5
X Frage zu Import von CAD Zeichnungen Spiele- und Multimedia-Programmierung 4
A kurze Frage zu Java3D! (automatische Skalierung) Spiele- und Multimedia-Programmierung 3
S Poker - grundlegende frage zu paint() Spiele- und Multimedia-Programmierung 10
P Frage zum Scrolling Spiele- und Multimedia-Programmierung 23
B Frage zum Abspielen von Sounddateien Spiele- und Multimedia-Programmierung 2
J Frage zu Geometry und Shape3D Spiele- und Multimedia-Programmierung 4
J Frage zu Transform3D.mul() Spiele- und Multimedia-Programmierung 2
J Java3D: Texture-Frage Spiele- und Multimedia-Programmierung 4
C frage zu glrotated Spiele- und Multimedia-Programmierung 12
T Einsatzbereich-Frage von Java 3D Spiele- und Multimedia-Programmierung 24
S [Java2D] Performance Frage Spiele- und Multimedia-Programmierung 4
G Frage zur Sichtbarkeit von Flächen Spiele- und Multimedia-Programmierung 2
T App-Design Spiele- und Multimedia-Programmierung 9
S Design eines Schachspiels Spiele- und Multimedia-Programmierung 3
qwerqer Design Pattern gesucht für Spielregeln Spiele- und Multimedia-Programmierung 2
M Design von Userinteraktion versus KI-only Spiele- und Multimedia-Programmierung 2
T Kollisions Abfrage und Klassen design Spiele- und Multimedia-Programmierung 15
T RPG-Welt Design Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen

Neue Themen


Oben