Ich habe einige Probleme beim Programmieren des Spieles 4Gewinnt. Dass Spiel muss mit einer Grafischen Oberfläche erstellt werden und die Steine müssen per mouseevent eingefügt werden.
Außerdem muss dass Programm erkennen, wenn vier steine Waagerecht Senkrecht oder schräg gelegt worden sind und wenn dass der Fall ist, soll eine Nachricht erscheinen, dass derjenige dass Spiel gewonnen hat.
Außerdem muss ich auch noch einen Spielstand mit einbauen, der zählt, wie oft rot oder blau gewonnen haben. Diesen spielstand muss man mittels einen button aber auch wieder auf null setzen können.
Ich habe schon ein Code vorbereitet, aber irgendwie will er die Steine einfach nicht zeichnen. KAnn mir jemand helfen?
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class connect4 extends Applet implements MouseListener {
/**
*
*/
private static final long serialVersionUID = 1L;
int feld[][] = { { 0, 1, 2, 3, 4, 5, 6 },
{ 0, 0, 0, 0, 1, 0, 0 },
{ 2, 4, 0, 0, 1, 0, 0 },
{ 0, 0, 0, 0, 1, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0 },
{ 1, 1, 2, 0, 0, 0, 1 }
};
public void zeichneSpielfeld(Graphics g) {
g.drawString("Vier Gewinnt", 260, 18);
setSize(600,600);
// g.drawRect(x, y, width, height)
g.drawRect(85, 85, 420, 420);
g.drawLine(85, 155, 505, 155);
g.drawLine(85, 225, 505, 225);
g.drawLine(85, 295, 505, 295);
g.drawLine(85, 365, 505, 365);
g.drawLine(85, 435, 505, 435);
g.drawLine(85, 505, 505, 505);
g.drawLine(145, 85, 145, 505);
g.drawLine(205, 85, 205, 505);
g.drawLine(265, 85, 265, 505);
g.drawLine(325, 85, 325, 505);
g.drawLine(385, 85, 385, 505);
g.drawLine(445, 85, 445, 505);
}
public void paint(Graphics g) {
Image rot = Toolkit.getDefaultToolkit().getImage("sonne.jpg");
Image blau = Toolkit.getDefaultToolkit().getImage("mond.jpg");
for (int x = 0; x < 7; x++) {
for (int y = 0; y < 6; y++) {
if (feld[y][x] == 1)
g.drawImage(rot, 50 * x, 50 * y, this);
if (feld[y][x] == 2)
g.drawImage(blau, 50 * x, 50 * y, this);
}
}
zeichneSpielfeld(g);
}
public void init() {
addMouseListener(this);
}
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
int x = arg0.getX();
if (x < 50)
feld[0][0] = 1;
if (x > 50 && x < 100)
feld[0][1] = 1;
if (x > 100 && x < 150)
feld[0][2] = 1;
repaint();
}
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
}