Hallo liebe Community ich habe bezüglich meines Würfelspiels, dass wir für die Schule schreiben sollen 2 Fragen:
1. Wie übernehme ich 3 werte gleichzeitig von der einen Klasse in die andere ohne 3 Methoden schreiben zu müssen?
Hier die Klasse wo die werte herkommen:
Von hier will ich die Werte von zahl1 , zahl2 und zahl 3 in der Folgenen Klasse speichern:
Ausserdem möchte ich die Bilder in den Labeln lbAugen1, 2, 3 dann entsprechend der zahl ändern. Wäre cool wenn ihr mir helfen könntet(Es ist nicht so dass ich vorher nicht versucht habe was zu finden, bzw auszubrobieren, jedoch habe ich die gefundenen Erklärungen nicht übertragen können.)
schon mal Danke im Vorraus
knieger
1. Wie übernehme ich 3 werte gleichzeitig von der einen Klasse in die andere ohne 3 Methoden schreiben zu müssen?
Hier die Klasse wo die werte herkommen:
Java:
class Knobelbecher
{
private Wuerfel dieserWuerfel1, dieserWuerfel2, dieserWuerfel3;
private int zahl1, zahl2, zahl3;
Knobelbecher (int startwert)
{
this.dieserWuerfel1 = new Wuerfel(startwert);
this.dieserWuerfel2 = new Wuerfel(startwert);
this.dieserWuerfel3 = new Wuerfel(startwert);
}
public void schuettel()
{
dieserWuerfel1.wuerfeln();
dieserWuerfel2.wuerfeln();
dieserWuerfel3.wuerfeln();
}
public int getAugensumme()
{
zahl1 = dieserWuerfel1.getOben();
zahl2 = dieserWuerfel2.getOben();
zahl3 = dieserWuerfel3.getOben();
int erg = zahl1 + zahl2 + zahl3;
return erg;
}
}
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JButton;
public class Spiel extends JFrame implements ActionListener
{
private JTextField tfSp1, tfSp2, tfRnd, tfTxt;
private JButton btWuerfeln, btBeenden;
private JLabel lbAugen1, lbAugen2, lbAugen3, lbDe;
private Spieler spieler1, spieler2;
int rnd, zaehler, gesSp1, gesSp2;
public Spiel()
{ super("Simulation eines Knobelspiels");
this.spieler1 = new Spieler(6);
this.spieler2 = new Spieler(4);
this.getContentPane().setBackground(Color.black);
this.getContentPane().setLayout(null);
//Würfeln-Button
btWuerfeln = new JButton("Neues Spiel");
btWuerfeln.setBounds (200, 600, 300, 100);
btWuerfeln.setBackground(Color.black);
btWuerfeln.setBorder(BorderFactory.createMatteBorder(5, 5, 5, 5, Color.yellow));
btWuerfeln.setForeground(Color.yellow);
btWuerfeln.setFont(new Font("Dialog", 0, 30));
btWuerfeln.addActionListener(this);
this.getContentPane().add(btWuerfeln);
//Beenden-Button
btBeenden = new JButton("End");
btBeenden.setFont(new Font("Dialog", 0, 30));
btBeenden.setBounds (550, 600, 100, 100);
btBeenden.setBackground(Color.black);
btBeenden.setBorder(BorderFactory.createMatteBorder(5, 5, 5, 5, Color.yellow));
btBeenden.setForeground(Color.yellow);
btBeenden.addActionListener(this);
this.getContentPane().add(btBeenden);
//Spieler1-Label
JLabel lbSp1 = new JLabel ("Spieler1:");
lbSp1.setBounds (50, 0, 300, 100);
lbSp1.setFont(new Font("Dialog", 0, 75));
lbSp1.setForeground(Color.white);
this.getContentPane().add (lbSp1);
//Runden-Label
JLabel lbRnd = new JLabel ("Rnd:");
lbRnd.setBounds (400,25, 50, 100);
lbRnd.setFont(new Font("Dialog", 0, 20));
lbRnd.setForeground(Color.white);
this.getContentPane().add (lbRnd);
//Spieler2-Label
JLabel lbSp2 = new JLabel ("Spieler2:");
lbSp2.setBounds (500, 0, 300, 100);
lbSp2.setFont(new Font("Dialog", 0, 75));
lbSp2.setForeground(Color.white);
this.getContentPane().add (lbSp2);
//Spieler1-Anzeige
tfSp1 = new JTextField (40);
tfSp1.setText ("");
tfSp1.setBounds (50, 100, 300, 100);
tfSp1.setFont(new Font("Dialog", 0, 75));
tfSp1.setBackground(Color.white);
this.getContentPane().add (tfSp1);
//Runden-Anzeige
tfRnd = new JTextField (40);
tfRnd.setText ("");
tfRnd.setBounds (400, 100, 50, 100);
tfRnd.setFont(new Font("Dialog", 0, 75));
tfRnd.setHorizontalAlignment(JTextField.CENTER);
tfRnd.setBackground(Color.white);
this.getContentPane().add (tfRnd);
//SPieler2-Anzeige
tfSp2 = new JTextField (40);
tfSp2.setText ("");
tfSp2.setBounds (500, 100, 300, 100);
tfSp2.setFont(new Font("Dialog", 0, 75));
tfSp2.setBackground(Color.white);
this.getContentPane().add (tfSp2);
//Text-Anzeige
tfTxt = new JTextField (40);
tfTxt.setText ("Würfelspiel Starten");
tfTxt.setBounds (200, 450, 450, 100);
tfTxt.setFont(new Font("Dialog", 0, 50));
tfTxt.setHorizontalAlignment(JTextField.CENTER);
tfTxt.setForeground(Color.WHITE);
tfTxt.setBackground(Color.black);
tfTxt.setBorder(BorderFactory.createMatteBorder(0, 0, 0, 0, Color.black));
this.getContentPane().add (tfTxt);
//Augen-Anzeige1
lbAugen1 = new JLabel(new ImageIcon("wuerfel5.jpg"));
lbAugen1.setBounds (199, 250, 150, 150);
this.getContentPane().add (lbAugen1);
//Augen-Anzeige2
lbAugen2 = new JLabel(new ImageIcon("wuerfel2.jpg"));
lbAugen2.setBounds (350, 250, 150, 150);
this.getContentPane().add (lbAugen2);
//Augen-Anzeige3
lbAugen3 = new JLabel(new ImageIcon("wuerfel6.jpg"));
lbAugen3.setBounds (501, 250, 150, 150);
this.getContentPane().add (lbAugen3);
this.setVisible(true);
}
public void actionPerformed(ActionEvent event)
{
String cmd = event.getActionCommand();
if (cmd.equals("Würfeln"))
{
int ergSp1 = 0;
int ergSp2 = 0;
if(rnd != 0)
{
if(zaehler == 0)
{
spieler1.schuettelDenBecher();
ergSp1 = spieler1.getErgebnis();
gesSp1 = gesSp1 + ergSp1;
tfSp1.setText(""+gesSp1);
/*
zahl1 = hier die erste
zahl1 = hier die zweite
zahl1 = hier die dritte
*/
tfTxt.setText("Spieler 2 ist am Zug");
zaehler++;
}
else if(zaehler == 1)
{
spieler2.schuettelDenBecher();
ergSp2 = spieler2.getErgebnis();
gesSp2 = gesSp2 + ergSp2;
tfSp2.setText(""+gesSp2);
/*
zahl1 = hier die erste
zahl1 = hier die zweite
zahl1 = hier die dritte
*/
tfTxt.setText("Runde Beendet");
zaehler--;
btWuerfeln.setText("Nächste Runde");
if(rnd == 5)
{
if(gesSp1 > gesSp2)
tfTxt.setText("Spieler 1 gewinnt");
else if(gesSp1 == gesSp2)
tfTxt.setText("Unentschieden");
else if(gesSp1 < gesSp2)
tfTxt.setText("Spieler 2 gewinnt");
btWuerfeln.setText("Spiel Beenden");
}
}
}
}
else if (cmd.equals("Neues Spiel"))
{
btWuerfeln.setText("Würfeln");
rnd = 1;
tfRnd.setText(""+rnd);
tfSp1.setText("0");
tfSp2.setText("0");
tfTxt.setText("Spieler 1 ist am Zug");
}
else if (cmd.equals("Spiel Beenden"))
{
tfTxt.setText("Würfelspiel Starten");
gesSp1 = 0;
gesSp2 = 0;
tfSp1.setText("");
tfSp2.setText("");
tfRnd.setText("");
btWuerfeln.setText("Neues Spiel");
}
else if (cmd.equals("Nächste Runde"))
{
rnd++;
tfRnd.setText(""+rnd);
tfTxt.setText("Spieler 1 ist am Zug");
btWuerfeln.setText("Würfeln");
}
else if (cmd.equals("End"))
{
setVisible(false);
dispose();
System.exit(0);
}
}
}
schon mal Danke im Vorraus
knieger