Hallo, ich bins mal wieder
Ich schreibe grade ein kleines Spiel für den Informatikunterricht und frage mich jetzt wieso der sonst immer so treue ActionListener nicht funktioniert. Wäre froh wenn mir jemand helfen könnte.
Ich schreibe grade ein kleines Spiel für den Informatikunterricht und frage mich jetzt wieso der sonst immer so treue ActionListener nicht funktioniert. Wäre froh wenn mir jemand helfen könnte.
Java:
import java.awt.Graphics;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import java.util.Random;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class MyPanel extends JPanel implements ActionListener
{
JLabel l1;
JLabel l2;
JButton wuerfel;
Image Ispielbrett;
Image Irot;
Image Iblau;
Hintergrund spielbrett;
Figur figur1;
Figur figur2;
Figur figur3;
Figur figur4;
Figur aktuelleFigur1;
Figur aktuelleFigur2;
String aktuelleFarbe;
public MyPanel()
{
setLayout(null);
setSize(590,710);
aktuelleFarbe = StartwertFuerSpieler();
loadImages();
spielbrett = new Hintergrund(Ispielbrett,0,0);
JButton wuerfel = new JButton("Wuerfel");
wuerfel.setBounds(0,585,100,100);
wuerfel.addActionListener(this);
l1 = new JLabel();
l1.setBounds(485,585,100,100);
l2 = new JLabel();
l2.setBounds(285,585,100,100);
figur1 = new Figur(Irot,155,155); // Ein Feld ist 57!
figur2 = new Figur(Iblau,383,155); // Home-Feld ist auf: 269/269
figur3 = new Figur(Irot,155,383);
figur4 = new Figur(Iblau,383,383);
add(wuerfel);
add(l1);
add(l2);
}
@Override
public void paintComponent(Graphics g)
{
spielbrett.paintComponent(g);
figur1.paintComponent(g);
figur2.paintComponent(g);
figur3.paintComponent(g);
figur4.paintComponent(g);
}
public void loadImages() {
try {
Iblau = ImageIO.read(new File("figurblau.png"));
Irot = ImageIO.read(new File("figurrot.png"));
Ispielbrett = ImageIO.read(new File("spielbrett.png"));
} catch(IOException ex) {
System.out.println("Fehler: " + ex.toString());
}
}
public void druckeGewinner() {
if(figur1.gewonnen() == true) {
System.out.println("Rot hat gewonnen");
}
if(figur2.gewonnen() == true) {
System.out.println("Blau hat gewonnen");
}
if(figur3.gewonnen() == true) {
System.out.println("Rot hat gewonnen");
}
if(figur4.gewonnen() == true) {
System.out.println("Blau hat gewonnen");
}
}
public void kriegeAktuellenSpieler() {
Random r = new Random();
int zufall1 = r.nextInt(4) + 1;
int zufall2 = r.nextInt(4) + 1;
if(zufall1 == 1) {
l1.setText("1");
aktuelleFigur1 = figur1;
}
else if(zufall1 == 2) {
l1.setText("2");
aktuelleFigur1 = figur2;
}
else if(zufall1 == 3) {
l1.setText("3");
aktuelleFigur1 = figur3;
}
else if(zufall1 == 4) {
l1.setText("4");
aktuelleFigur1 = figur4;
}
if(zufall2 == 1) {
l2.setText("1");
aktuelleFigur2 = figur1;
}
else if(zufall2 == 2) {
l2.setText("2");
aktuelleFigur2 = figur2;
}
else if(zufall2 == 3) {
l2.setText("3");
aktuelleFigur2 = figur3;
}
else if(zufall2 == 4) {
l2.setText("4");
aktuelleFigur2 = figur4;
}
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == wuerfel) {
kriegeAktuellenSpieler();
}
}
String StartwertFuerSpieler() {
Random r = new Random();
int zufall = r.nextInt(2) + 1;
String farbe = "";
if (zufall == 1) {
farbe = "Rot";
}
else if(zufall == 2) {
farbe = "Blau";
}
return farbe;
}
void setzeNeuenSpieler() {
if(aktuelleFarbe.equalsIgnoreCase("Rot")) {
aktuelleFarbe = "Blau";
}
else if(aktuelleFarbe.equalsIgnoreCase("Blau")) {
aktuelleFarbe = "Rot";
}
}
}
Zuletzt bearbeitet: