Kartenspiel Framework

CSHW89

Bekanntes Mitglied
Hallo zusammen,

ich habe vor ein Kartenspiel zu programmieren. Die Spiellogik ist auch schon sehr gut fortgeschritten. Ich kann das Spiel quasi auf der Console spielen. Nun möchte ich natürlich das Spiel grafisch darstellen. Ich habe ein paar Anforderungen, die erfüllt werden sollten, und überlege gerade, welches Framework ich benutzen sollte.
Ich habe ein Board mit Stapeln von Karten, sowie Karten, die arrangiert sind als Hand. Karten sollten sich von Stapel zu Stapel bzw. zur Hand bewegen. Die Karten sollten vergrößert dargestellt werden, damit Informationen darauf gelesen werden können. Die Karten sollten leicht gedreht werden, damit die Hand hübscher angezeigt werden kann. Die Stapel auf dem Board sollten entsprechend eines Layouts positioniert werden, und sich verschieben, falls sich das Fenster vergrößert/verkleinert. Es sollte natürlich performant sein bzw. nicht ruckeln.

Für Graphikdarstellungen habe ich viel swing gelesen, und damit kenne ich mich auch halbwegs gut aus (zumindest bei normalen "Windows"-Anwendungen). Allerdings habe ich die Befürchtung, dass gerade Animationen, Vergößerungen und Drehungen nicht smooth dargestellt werden. Eine andere Idee wäre openGL-basierte Frameworks, libgdx habe ich z.b. gelesen. Gibt es noch andere, die man empfehlen könnte? Oder ggf. ganz andere Frameworks? Eine weitere Frage, die sich mir stellt, wäre ein Layoutsystem verwenden, oder alles selbst berechnen. Bei swing würde sich natürlich anbieten, die einzelnen Stapel als JComponent darzustellen, und durch das Layoutsystem zu positionieren. Was mache ich allerdings mit den bewegenden Karten, die sich von einem Stapel zum anderen bewegen (ggf. über andere Stapel hinweg)? Bieten openGL-basierte Frameworks was ähnliches an? Oder sollte ich lieber eine große Fläche "bemalen" und die Positionen selbst berechnen?

Nochmal kurz zusammenfassend (falls jemand den Text nicht lesen will :)).
Die Anforderungen:
- Anzeige Stapel/Hand mit Karten
- Karten bewegen sich von Stapel zu Stapel bzw. Hand
- Karten vergrößern
- Karten leicht drehen
- Stapel anhand eines Layouts positionieren anhängig von der Fenstergröße
Fragen:
- swing? Performance?
- openGL-Framework (z.b. libgdx)? Anderes Framework?
- Layoutsystem des Frameworks oder selbst berechnen?

Vielen Dank und Grüße
Kevin
 

CSHW89

Bekanntes Mitglied
Hat keiner hier mal mit Java grafische Anwendungen/Spiele programmiert? Ich wäre auch für kleine Anregungen oder Meinungen dankbar.
 

LimDul

Top Contributor
Ich hab vor Urzeiten (zu Studiumszeiten) mal Carcassonne in Java programmiert. Das hab ich damals mit Swing gemacht.

Grundsätzlich hast du ja kein Action Spiel vorher, daher sollte Swing oder JavaFX ausreichen. Zu JavaFX kann ich nichts sagen, da hab ich mich bisher noch nicht mit beschäftigt.

Ich würde es in Swing als erste Idee wie folgt machen:
- Ein großes JPanel indem sich das ganze dynamische Zeug abspielt. Das bekommt ein Null-Layout.
- Alles was dann gezeichnet werden soll entweder als eigenes, transparentes JPanel da rein oder direkt in paintComponent zeichen - würde ich schauen was einfacher ist, kann man ggf. auch mixen (dann wirds nur mit der Z-Order unter Umständen tricky)
- Für Animtationen kann man sowas wie Timer verwenden, was alle X-Millisekunden eine neue Position berechnet und repaint aufruft (Hier aufs korrekte Threading achten, dass alles relevante im Event Dispatching Thread stattfindet).

Dann musst du natürlich die Positionen selber berechnen. Solltest du mit einem LayoutManager arbeiten wollen, würdest du allerdings zumindest für die Bewegung den Pfad selber berechnen müssen, da kommst du glaub ich nicht drum rum.

Andere, opengl/gdx bieten vielleicht mehr Komfort, aber da muss ich passen. Ich bin auch mehr der Mensch, der im Bereich Enterprise Anwendungen und Co unterwegs ist.
 

temi

Top Contributor
JavaFx kannst du dir auch mal anschauen. Da werde bereits einige Möglichkeiten für Animationen mitgeliefert.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kenan89 Ansatzfrage: Kartenspiel für 2 Spieler Online Spiele- und Multimedia-Programmierung 3
B Kartenspiel (Karten) Spiele- und Multimedia-Programmierung 14
X Kartenspiel: Karten erstellen Spiele- und Multimedia-Programmierung 4
Y Kartenspiel - Karten austeilen Spiele- und Multimedia-Programmierung 4
M [Spiel] Kartenspiel Leben und Tod Tips und Probleme Spiele- und Multimedia-Programmierung 7
B Kartenspiel Leben und Tod programmieren Spiele- und Multimedia-Programmierung 11
S Kartenspiel - Wie realisiert man anklickbare Karten? Spiele- und Multimedia-Programmierung 3
T Kartenspiel mit Server Client Funktionen Spiele- und Multimedia-Programmierung 3
H Kartenspiel: MauMau Spiele- und Multimedia-Programmierung 8
S Kartenspiel Spiele- und Multimedia-Programmierung 3
T Media Framework oder Alternative gesucht! Spiele- und Multimedia-Programmierung 9
R Java Media Framework im Java Editor Spiele- und Multimedia-Programmierung 6
N suche ein gutes Media Framework Spiele- und Multimedia-Programmierung 15
Kr0e Java Media Framework Spiele- und Multimedia-Programmierung 3
R Ist dieses Framework als Grundlage geeignet? Spiele- und Multimedia-Programmierung 8
isowiz Framework für Diagramme, Charts etc. (Excel-like) Spiele- und Multimedia-Programmierung 2
A Framework zur Erstellung von Diagrammen? Spiele- und Multimedia-Programmierung 2

Ähnliche Java Themen

Neue Themen


Oben