Hallo,
nachdem die Feiertage jetzt vorbei sind, und man daher wieder Programmieren muss, habe ich mal wieder ein Problem.
ich arbeite gerade mit ein paar Leuten daran, ein Siedler von Catan-Spiel zu programmieren, und dort hat man ein Spielfeld das aus vielen Sechsecken besteht. Wenn nun der Spieler auf eine Ecke oder eine Kante von einem Sechseck drückt, soll nun je nachdem etwas passieren.
Es ist in dem Fall echt schwer einen MouseListener auf das komplette Spielfeld zu legen, und jedes mal anhand der Koordinaten zu prüfen, was angeklickt wurde (Welche Kante mit welchen index oder welche Kreuzung mit welchen index). Jetzt hat ein Kumpel von mir gemeint, er hätte mal irgendwo gehört, dass man an die Ecken von Polygonen zumindest einen Listener anfügen kann. Deswegen habe ich zwar eine Klasse Sechseck programmiert, die von Polygon erbt, aber jetzt bei google dazu absolut nichts gefunden.
Daher wollte ich mal Fragen, ob das jetzt wirklich möglich ist, an die Ecken und Kanten MouseListener hinzuzufügen, oder ob das nur Schwachsinn ist. Und wenn das möglich ist, wie???:L
Hoffe, jemand der sich da besser auskennt weiß ne Lösung. Die Sechseck-Klasse sieht übrigens so aus,
nachdem die Feiertage jetzt vorbei sind, und man daher wieder Programmieren muss, habe ich mal wieder ein Problem.
ich arbeite gerade mit ein paar Leuten daran, ein Siedler von Catan-Spiel zu programmieren, und dort hat man ein Spielfeld das aus vielen Sechsecken besteht. Wenn nun der Spieler auf eine Ecke oder eine Kante von einem Sechseck drückt, soll nun je nachdem etwas passieren.
Es ist in dem Fall echt schwer einen MouseListener auf das komplette Spielfeld zu legen, und jedes mal anhand der Koordinaten zu prüfen, was angeklickt wurde (Welche Kante mit welchen index oder welche Kreuzung mit welchen index). Jetzt hat ein Kumpel von mir gemeint, er hätte mal irgendwo gehört, dass man an die Ecken von Polygonen zumindest einen Listener anfügen kann. Deswegen habe ich zwar eine Klasse Sechseck programmiert, die von Polygon erbt, aber jetzt bei google dazu absolut nichts gefunden.
Daher wollte ich mal Fragen, ob das jetzt wirklich möglich ist, an die Ecken und Kanten MouseListener hinzuzufügen, oder ob das nur Schwachsinn ist. Und wenn das möglich ist, wie???:L
Hoffe, jemand der sich da besser auskennt weiß ne Lösung. Die Sechseck-Klasse sieht übrigens so aus,
Java:
public class Sechseck extends Polygon{
int[] xpoints, ypoints;
int[] kreuzungen;
Spielstand spielstand;
public Sechseck(int[] xpoints, int[] ypoints, int[] kreuzungen,
Spielstand spielstand) {
super(xpoints, ypoints, 6);
this.xpoints=xpoints;
this.ypoints=ypoints;
this.kreuzungen = kreuzungen;
this.spielstand = spielstand;
}
}