Hallo,
ich würde in BlueJ gerne ein Würfelspiel schreiben und würde jetzt gerne wissen, wieso die strings (Name, Name2, Name3, Name4) erst nach verschieben des Fensters im GUI auftauchen und was ich bei meiner letzten if-Anweisung falsch gemacht habe(unten; auskommentiert).
ich würde in BlueJ gerne ein Würfelspiel schreiben und würde jetzt gerne wissen, wieso die strings (Name, Name2, Name3, Name4) erst nach verschieben des Fensters im GUI auftauchen und was ich bei meiner letzten if-Anweisung falsch gemacht habe(unten; auskommentiert).
Java:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.JOptionPane;
public class Spiel
{
String würfelbild1;
String würfelbild2;
String würfelbild3;
String Name;
String Name2;
String Name3;
String Name4;
JLabel spieler1;
JLabel spieler2;
JLabel spieler3;
JLabel spieler4;
static int kontostand=1000;
static int einsatz= 10;
static int gov1;
static int gov2;
static int gov3;
static int gesetztezahl=6;
static int max = 7;
static int min = 1;
static int rlx;
static int rly;
static int test;
static int auenzahl1;
static int auenzahl2;
static int auenzahl3;
JLabel kontostandtest;
public Spiel()
{
}
public static int RandomLocationx()
{
int rlx = (int) (Math.random()*( 300 -100 )+ 300);
return rlx;
}
public static int RandomLocationy()
{
int rly = (int) (Math.random()*( 1000 - 10 )+ 10);
return rly;
}
public static int rechnen1()
{
int augenzahl1 = (int) (Math.random()*( max -min )+ min);
switch(augenzahl1 + "|" +gesetztezahl){
case "1|1": gov1=einsatz ;break;
case "2|2": gov1=einsatz;break;
case "3|3": gov1=einsatz;break;
case "4|4": gov1=einsatz;break;
case "5|5": gov1=einsatz;break;
case "6|6": gov1=einsatz;break;
default: gov1=0;break;
}
return augenzahl1;
}
public static int rechnen2()
{
int augenzahl2 = (int) (Math.random()*( max -min )+ min);
switch(augenzahl2 + "|" +gesetztezahl){
case "1|1": gov2=einsatz ;break;
case "2|2": gov2=einsatz;break;
case "3|3": gov2=einsatz;break;
case "4|4": gov2=einsatz;break;
case "5|5": gov2=einsatz;break;
case "6|6": gov2=einsatz;break;
default: gov2=0;break;
}
return augenzahl2;
}
public static int rechnen3()
{
int augenzahl3 = (int) (Math.random()*( max -min )+ min);
switch(augenzahl3 + "|" +gesetztezahl){
case "1|1": gov3=einsatz ;break;
case "2|2": gov3=einsatz;break;
case "3|3": gov3=einsatz;break;
case "4|4": gov3=einsatz;break;
case "5|5": gov3=einsatz;break;
case "6|6": gov3=einsatz;break;
default: gov3=0;break;
}
System.out.println(kontostand = kontostand + gov1 + gov2 + gov3 - einsatz);
return augenzahl3;
}
public void Spielstart ()
{
//Fenster
JFrame fenster = new JFrame("Chuck a Luck");
fenster.setSize(1300,1036);
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenster.getContentPane();
fenster.setLocationRelativeTo(null);
fenster.setLayout(null);
fenster.setResizable(false);
fenster.setVisible(true);
//panel links
JPanel panel = new JPanel();
panel.setLocation(0,0);
panel.setSize(450,1040);
panel.setLayout(null);
fenster.add(panel);
//große Spielfläche
JPanel wflache = new JPanel();
wflache.setLayout(null);
wflache.setLocation(450,0);
wflache.setSize(850,1036);
wflache.setBackground(new Color(0,102,51));
wflache.setOpaque(true);
wflache.setVisible(true);
fenster.add(wflache);
//Knopf für Setzen
JButton setzenknopf= new JButton("Einsatz Setzen");
setzenknopf.setSize(450,175);
setzenknopf.setLocation(0,175);
//setzenknopf.setBorders(Color.RED);
setzenknopf.setBackground(new Color(51,204,204));
panel.add(setzenknopf);
//platzhalter mitte links
JLabel platz = new JLabel();
platz.setLocation(0,350);
platz.setSize(450,300);
ImageIcon fear = new ImageIcon("loathing2.jpg");
platz.setIcon(fear);
platz.setBackground(new Color(102,51,0));
platz.setOpaque(true);
platz.setVisible(true);
panel.add(platz);
//Knopf für Würfeln
JButton würfelknopf= new JButton("Würfeln");
würfelknopf.setSize(450,175);
würfelknopf.setLocation(0,0);
//würfelknopf.setBackground(new Color(51,204,204));
würfelknopf.setBackground(new Color(255,204,153));
panel.add(würfelknopf);
//Jlabel Würfel
// JLabel zeigmirerstenWürfel = new JLabel();
// zeigmirerstenWürfel.setSize(60,60);
// zeigmirerstenWürfel.setLocation((int) (Math.random()*( 150 - 50 )+ 50),(int) (Math.random()*( 1000 - 10 )+ 10));
// panel.add(zeigmirerstenWürfel);
//
// JLabel zeigmirzweitenWürfel = new JLabel();
// zeigmirzweitenWürfel.setSize(60,60);
// zeigmirzweitenWürfel.setLocation((int) (Math.random()*( 250 - 155 )+ 155),(int) (Math.random()*( 1000 - 10 )+ 10));
// panel.add(zeigmirzweitenWürfel);
//
// JLabel zeigmirdrittenWürfel = new JLabel();
// zeigmirdrittenWürfel.setSize(60,60);
// zeigmirdrittenWürfel.setLocation((int) (Math.random()*( 260 - 160 )+ 160),(int) (Math.random()*( 1000 - 10 )+ 10));
// panel.add(zeigmirdrittenWürfel);
// spieler1 = new JLabel(Name);
// spieler1.setSize(200,100);
// spieler1.setLocation(0,700);
// panel.add(spieler1);
// spieler2 = new JLabel(Name2);
// spieler2.setSize(200,100);
// spieler2.setLocation(0,705);
// panel.add(spieler2);
// spieler3 = new JLabel(Name3);
// spieler3.setSize(200,100);
// spieler3.setLocation(0,710);
// panel.add(spieler3);
// spieler4 = new JLabel(Name4);
// spieler4.setSize(200,100);
// spieler4.setLocation(0,715);
// panel.add(spieler4);
JLabel zeigmirerstenWürfel = new JLabel();
zeigmirerstenWürfel.setSize(60,60);
//Location wo anders
wflache.add(zeigmirerstenWürfel);
JLabel zeigmirzweitenWürfel = new JLabel();
zeigmirzweitenWürfel.setSize(60,60);
//Location wo anders
wflache.add(zeigmirzweitenWürfel);
JLabel zeigmirdrittenWürfel = new JLabel();
zeigmirdrittenWürfel.setSize(60,60);
//Location wo anders
wflache.add(zeigmirdrittenWürfel);
//ActionListener für würfelnknopf
ActionListener Würfeln = new ActionListener()
{
public void actionPerformed(ActionEvent w)
{
Spiel würfel1 = new Spiel();
switch (Spiel.rechnen1())
{
case 1: würfelbild1 = "1er.jpg";break;
case 2: würfelbild1 = "2er.jpg";break;
case 3: würfelbild1 = "3er.jpg";break;
case 4: würfelbild1 = "4er.jpg";break;
case 5: würfelbild1 = "5er.jpg";break;
case 6: würfelbild1 = "6er.jpg";break;
}
ImageIcon ersterWürfel = new ImageIcon(würfelbild1);
zeigmirerstenWürfel.setIcon(ersterWürfel);
zeigmirerstenWürfel.setVisible(true);
Spiel würfel2 = new Spiel();
switch (Spiel.rechnen2())
{
case 1: würfelbild2 = "1er.jpg";break;
case 2: würfelbild2 = "2er.jpg";break;
case 3: würfelbild2 = "3er.jpg";break;
case 4: würfelbild2 = "4er.jpg";break;
case 5: würfelbild2 = "5er.jpg";break;
case 6: würfelbild2 = "6er.jpg";break;
}
ImageIcon zweiterWürfel = new ImageIcon(würfelbild2);
zeigmirzweitenWürfel.setIcon(zweiterWürfel);
zeigmirzweitenWürfel.setVisible(true);
Spiel würfel3 = new Spiel();
switch (Spiel.rechnen3())
{
case 1: würfelbild3 = "1er.jpg";break;
case 2: würfelbild3 = "2er.jpg";break;
case 3: würfelbild3 = "3er.jpg";break;
case 4: würfelbild3 = "4er.jpg";break;
case 5: würfelbild3 = "5er.jpg";break;
case 6: würfelbild3 = "6er.jpg";break;
}
ImageIcon dritterWürfel = new ImageIcon(würfelbild3);
zeigmirdrittenWürfel.setIcon(dritterWürfel);
zeigmirdrittenWürfel.setVisible(true);
if(kontostand<=0)
{
JOptionPane.showMessageDialog(null,
"Sie haben kein Geld mehr auf dem Konto hören Sie lieber auf zu Spielen, oder fügen Sie neues Geld zu Ihrem Konto hinzu.",
"Eine Warnung",
JOptionPane.WARNING_MESSAGE);
}
// if(augenzahl1==augenzahl2==augenzahl3==gesetztezahl)
// {
// JOptionPane.showMessageDialog(null,
// "Herzlichen Glückwunsch",
// "LUCKY!!!",
// JOptionPane.WARNING_MESSAGE);
// }
zeigmirerstenWürfel.setLocation((int) (Math.random()*( 150 - 50 )+ 50),(int) (Math.random()*( 1000 - 10 )+ 10));
zeigmirzweitenWürfel.setLocation((int) (Math.random()*( 250 - 155 )+ 155),(int) (Math.random()*( 1000 - 10 )+ 10));
zeigmirdrittenWürfel.setLocation((int) (Math.random()*( 260 - 160 )+ 160),(int) (Math.random()*( 1000 - 10 )+ 10));
}
}
;
würfelknopf.addActionListener(Würfeln);
//ActionListener für setzenknof
ActionListener Einsatzsetzen = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String GesetzteAugenzahl = JOptionPane.showInputDialog(null,"Auf welche Augenzahl wollen Sie setzen?",
"Eine Eingabeaufforderung",
JOptionPane.PLAIN_MESSAGE);
String Einsatz = JOptionPane.showInputDialog(null,"Wie viel wollen Sie setzen?",
"Eine Eingabeaufforderung",
JOptionPane.PLAIN_MESSAGE);
}
}
;
setzenknopf.addActionListener(Einsatzsetzen);
JOptionPane.showMessageDialog(null,
"Willkommen in Moser´s&Tobi´s Casino! Chuck a Luck ist ein Glückspiel. Glücksspiel kann süchtig machen.",
"Eine Nachricht",
JOptionPane.WARNING_MESSAGE);
String Name = JOptionPane.showInputDialog(null,"Bitte geben Sie Ihren Namen ein: ",
"Eine Eingabeaufforderung",
JOptionPane.PLAIN_MESSAGE);
String Name2 = JOptionPane.showInputDialog(null,"Bitte geben Sie den Namen des zweiten Spielers ein: ",
"Eine Eingabeaufforderung",
JOptionPane.PLAIN_MESSAGE);
String Name3 = JOptionPane.showInputDialog(null,"Bitte geben Sie den Namen des dritten Spielers ein: ",
"Eine Eingabeaufforderung",
JOptionPane.PLAIN_MESSAGE);
String Name4 = JOptionPane.showInputDialog(null,"Bitte geben Sie den Namen des vierten Spielers ein: ",
"Eine Eingabeaufforderung",
JOptionPane.PLAIN_MESSAGE);
//Namensanzeige der Spieler
spieler1 = new JLabel(Name);
spieler1.setSize(10,100);
spieler1.setLocation(0,640);
panel.add(spieler1);
spieler2 = new JLabel(Name2);
spieler2.setSize(10,100);
spieler2.setLocation(0,660);
panel.add(spieler2);
spieler3 = new JLabel(Name3);
spieler3.setSize(10,100);
spieler3.setLocation(0,680);
panel.add(spieler3);
spieler4 = new JLabel(Name4);
spieler4.setSize(10,100);
spieler4.setLocation(0,700);
panel.add(spieler4);
}
}
/code