Hallo!
Ich möchte gerne das Speil Abalone programmieren. Allerdings bereitet mir die Programmierung des Spielbrettes einige Problem.
Das Spielbrett hat die Form eines 6ecks.
Hier könnt ihr euch ein Bild dazu ansehen.
Ich habe mit einer for Schleife versucht, die Kreise mittels "Paintmethode" zu zeichnen, bekomme allerdings nur die obere Hälfte richtig hin.
Hier der Testquelltext:
Vielleicht kann mir einer von euch weiter helfen.
Wäre über jede Hilfe dankbar!
Ich möchte gerne das Speil Abalone programmieren. Allerdings bereitet mir die Programmierung des Spielbrettes einige Problem.
Das Spielbrett hat die Form eines 6ecks.
Hier könnt ihr euch ein Bild dazu ansehen.
Ich habe mit einer for Schleife versucht, die Kreise mittels "Paintmethode" zu zeichnen, bekomme allerdings nur die obere Hälfte richtig hin.
Hier der Testquelltext:
Code:
public class Kreise extends Canvas {
public Kreise(){
}
public void paint(Graphics g){
int r = 8;
int i, j;
int x, y;
for (i=5; i<10; ++i) {
x = 150 - r * i;
y = (int) (40 + (i - 1) * 1.7321 * r);
for (j=1; j<=i; ++j) {
g.setColor(Color.RED);
g.drawOval(x,y,2*r,2*r);
g.fillOval(x,y,2*r,2*r);
x += 2 * r;
}
}
for (i=9; i>7; --i) {
x = 150 - r * i;
y = (int) (67 + (i - 1) * 1.7321 * r);
for (j=1; j<=i; ++j) {
g.setColor(Color.RED);
g.drawOval(x,y,2*r,2*r);
g.fillOval(x,y,2*r,2*r);
x += 2 * r;
}
}
}
public static void main(String[] args) {
final Frame f = new Frame("GraphicsExample");
f.setSize(800, 480);
f.add(new Kreise());
f.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e)
{
f.setVisible(false);
f.dispose();
System.exit(0);
}
}
);
f.setVisible(true);
}
}
Vielleicht kann mir einer von euch weiter helfen.
Wäre über jede Hilfe dankbar!