Denkhilfe bei Entwicklung einer Komponente fuer ein Brettspiel

Dave82

Grünschnabel
Hallo zusammen,

ich braeuchte bitte mal etwas Denkhilfe.

Ich bin grade dabei ein Brettspiel umzusetzen.

Dabei moechte ich gerne eine Klasse Spielfeld erstellen, auf der dann Spielsteine gesetzt werden.

Diese sollen ueberall auf dem Spielfeld platzierbar sein.

Ich weiss leider noch nicht wie ich das nun genau umsetzen soll.

Ich habe schon etwas nachgelesen und dachte daran ein JPanel zu erweitern.

Dabei wird ein Bild als Hintergrund gewaehlt. Das funktioniert soweit auch.

Nun habe ich das Problem mit den Spielsteinen. Zur Zeit habe ich eine Funktion um einen Spielstein zu zeichnen innerhalb der Spielfeld Klasse. Nun moechte ich aber auch, dass man einen Spielstein anklicken kann und dann eben die Option bekommt den zu bewegen.

Wie setze ich das am Besten um? Per Mauslistener und dann die Koordinaten checken ob irgendwo ein Spielstein unter diesen Koordinaten ist? Oder gibt es da noch eine bessere Moeglichkeit?


Ich hoffe ich konnte mein Problem verstaendlich ausdruecken.

Danke vielmals im Voraus.
 
Es kommt halt drauf an wie du es haben möchtest. Wenn man die Figur per DnD verschieben können soll, dann wirst du sicherlich einen MouseMotionListener brauchen und es wird etwas komplizierter. Wenn man die Figur nur anklicken soll und dann eine andere Stelle wählen, dann reicht ein MouseListener und es wird nicht ganz so kompliziert.
Ich hab etwas ähnliches wie das erste schon mal gemacht und es war mit etwas mehr Arbeit verbunden.

MFG

zEriX
 
Die Figur soll nur angeklickt werden, kein Drag & Drop.

Dann sollen in einem Infopanel Werte der Figur angegeben werden und ein Popup auftauchen, in dem man waehlen kann bewege Figur in Richtung X und Y per Schieber oder Texteingabe.

Mein Problem ist eben einfach nur wie ich das Ganze am Besten umsetze. Die Spielfiguren selber besitzen die Informationen ueber X,Y Koordinate und auch die jeweilige Groesse.

Das Spielfeld laed einen 480 x 480 Pixel grossen Hintergrund.

Nun ist eben die Frage wo ich auch das Ganze einbaue. Soll ich z.B. eine Liste aller Spielfiguren halten und bei dem updateComponent vom Spielfeld die Figuren zeichnen lassen?
Und eben einen MouseListener fuer das entdecken ob man auf eine Figur geklickt hat?
 
Zurück