Hallo.
ich schreibe seit längerem an einer GUI für ein Kartenspiel. Die GUI sieht auch ganz passabel aus und leistet eigentlich auch was sie soll.
Das einzige was fehlt ist ein HumanPlayer. Dabei bin ich allerdings auf folgendes Problem gestoßen:
Wie kann ich den Index, der im MouseListener der Labels herausbekommen wird, später einem Zug zuweisen?
Die Züge werden in folgender Form konstruiert: Move(x-Index,y-Index,Value), wobei es mir erst einmal um den x und y Index geht. Dazu habe ich auch schon folgenden MouseListener geschrieben:
Ich will jetzt quasi entweder xValue und yValue oder die Variable coo so extrahieren, dass ich später mit diesen Werten
oder so ähnlich erzeugen kann, den ich dann wieder für das fortschreiten des Spiels, Nutzen kann.
Kann es auf diese Weise funktionieren, oder muss eventuell auch ganz anders an die Sache herangegangen werden?
Ich würde mich auf eine baldige Antwort freuen.
wichtelmann
PS: Ich hoffe ich bin im richtigen Bereich gelandet, mit diesem allgemeinprogrammtechnischen Swing-Problem
ich schreibe seit längerem an einer GUI für ein Kartenspiel. Die GUI sieht auch ganz passabel aus und leistet eigentlich auch was sie soll.
Das einzige was fehlt ist ein HumanPlayer. Dabei bin ich allerdings auf folgendes Problem gestoßen:
Wie kann ich den Index, der im MouseListener der Labels herausbekommen wird, später einem Zug zuweisen?
Die Züge werden in folgender Form konstruiert: Move(x-Index,y-Index,Value), wobei es mir erst einmal um den x und y Index geht. Dazu habe ich auch schon folgenden MouseListener geschrieben:
Java:
for (int y = 0; y < 5; y++) {
for (int x = 0; x < 5; x++) {
jLabelField[x][y].addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(final MouseEvent evt){
final JLabel source = (JLabel)evt.getSource();
int xValue;
int yValue;
for (int y = 0; y < 5; y++) {
for (int x = 0; x < 5; x++) {
if(source==jLabelField[x][y]){
xValue=x;
yValue=y;
Coordinates coo = new Coordinates(x,y); //Typ, der aus einem x-Wert und einem y-Wert besteht
}
}
}
}});
Ich will jetzt quasi entweder xValue und yValue oder die Variable coo so extrahieren, dass ich später mit diesen Werten
Java:
Move m = new Move(xValue,yValue,Value)
Kann es auf diese Weise funktionieren, oder muss eventuell auch ganz anders an die Sache herangegangen werden?
Ich würde mich auf eine baldige Antwort freuen.
wichtelmann
PS: Ich hoffe ich bin im richtigen Bereich gelandet, mit diesem allgemeinprogrammtechnischen Swing-Problem