Mein Problem ist ich habe versucht Wer wird Millionär zu programmieren, dabei habe ich für die Fragen switch case benutzt. Ich habe meine erste Frage von Anfang an in das JTextField Feld reingeschrieben, sowie die Anwtorten bei den Clickboxen.
Mein Idee war es beim Button weiter spielen, die Felder zu ändern, wie folgt
So es klappt anfangs auch, nur wenn ich auf weiter spielen drücke, dann springt er direkt auf die letzte Frage und beachtet leider auch nicht, dass b nicht mehr die Richtige Antwort ist, sondern c und das Textfeld_Antwort ändert er auch nicht. (i++; nicht überall benutzt bis jetzt, da es schon beim ersten nichts bringt.)
Java:
Textfeld_Frage = new JTextField();
Textfeld_Frage.setFont(new Font("Arial", Font.PLAIN, 15));
Textfeld_Frage.setText("Frage1: Ein zylindrisches Gef\u00E4\u00DF in dem Speisen gekocht werden \u2013 oder kurz:");
Textfeld_Frage.setColumns(10);
JCheckBox chckbxD = new JCheckBox("d");
chckbxD.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (chckbxD.isSelected()) {
Textfeld_Antwort.setText("Leider falsche Anwtort.Sie haben 0€ gewonnen.");
}
}
});
JCheckBox chckbxC = new JCheckBox("c");
chckbxC.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (chckbxC.isSelected()) {
Textfeld_Antwort.setText("Leider falsche Anwtort.Sie haben 0€ gewonnen.");
}
}
});
JCheckBox chckbxA = new JCheckBox("a");
chckbxA.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (chckbxA.isSelected()) {
Textfeld_Antwort.setText("Leider falsche Anwtort.Sie haben 0€ gewonnen.");
}
}
});
JCheckBox chckbxB = new JCheckBox("b");
chckbxB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (chckbxB.isSelected()) {
Textfeld_Antwort.setText("Richtige Antwort! Sie haben 50€ sicher. Drücken sie auf weiter spielen, um das Spiel fortzuführen, oder auf jetzt aufhören, um mit 50€ nach Hause zu gehen.");
}
}
});
Java:
JButton Button_Weiter = new JButton("Weiter spielen");
Button_Weiter.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int i = 0;
switch(i) {
case 0: Textfeld_Frage.setText("100-Euro-Frage: Was hat man redensartlich, wenn man häufig das Klo aufsuchen muss?");
Textfeld_a.setText("Teenagerherz");
Textfeld_b.setText("Abiturientenniere");
Textfeld_c.setText("Konfirmandenblase");
Textfeld_d.setText("Grundschülerlunge");
Textfeld_Antwort.setText("");
chckbxA.setSelected(false);
chckbxB.setSelected(false);
chckbxC.setSelected(false);
chckbxD.setSelected(false);
if (chckbxA.isSelected()) {
Textfeld_Antwort.setText("Leider falsche Anwtort.Sie haben 0€ gewonnen.");
}
else if (chckbxB.isSelected()) {
Textfeld_Antwort.setText("Leider falsche Anwtort.Sie haben 0€ gewonnen.");
}
else if (chckbxC.isSelected()) {
Textfeld_Antwort.setText("Richtige Antwort! Sie haben 100€ sicher. Drücken sie auf weiter spielen, um das Spiel fortzuführen, oder auf jetzt aufhören, um mit 100€ nach Hause zu gehen.");
i++;
}
else if (chckbxD.isSelected()) {
Textfeld_Antwort.setText("Leider falsche Anwtort.Sie haben 0€ gewonnen.");
}
case 1: Textfeld_Frage.setText("200-Euro-Frage: Wenn jemand dem Finanzamt Geld schuldet, könnte man ihn passenderweise auffordern: \"Zahl endlich deine …\"");
Textfeld_a.setText("Steuer, Mann!");
Textfeld_b.setText("Deck, Offizier!");
Textfeld_c.setText("Schiffs,Junge!");
Textfeld_d.setText("Leicht, Matrose!");
Textfeld_Antwort.setText("");
chckbxA.setSelected(false);
chckbxB.setSelected(false);
chckbxC.setSelected(false);
chckbxD.setSelected(false);
if (chckbxA.isSelected()) {
Textfeld_Antwort.setText("Richtige Antwort! Sie haben 200€ sicher. Drücken sie auf weiter spielen, um das Spiel fortzuführen, oder auf jetzt aufhören, um mit 200€ nach Hause zu gehen.");
}
else if (chckbxB.isSelected()) {
Textfeld_Antwort.setText("Leider falsche Anwtort.Sie haben 0€ gewonnen.");
}
else if (chckbxC.isSelected()) {
Textfeld_Antwort.setText("Leider falsche Anwtort.Sie haben 0€ gewonnen.");
}
else if (chckbxD.isSelected()) {
Textfeld_Antwort.setText("Leider falsche Anwtort.Sie haben 0€ gewonnen.");
}
.
.
.
.
case 13: Textfeld_Frage.setText("Eine-Million-Euro-Frage: Welchen Eintrag findet man im \"Urduden\" von 1880 nicht?");
Textfeld_a.setText("Batterie");
Textfeld_b.setText("Mikrophon");
Textfeld_c.setText("Dynamit");
Textfeld_d.setText("Glühlampe");
Textfeld_Antwort.setText("");
chckbxA.setSelected(false);
chckbxB.setSelected(false);
chckbxC.setSelected(false);
chckbxD.setSelected(false);
if (chckbxA.isSelected()) {
Textfeld_Antwort.setText("Leider falsche Anwtort.Sie haben 0€ gewonnen.");
}
else if (chckbxB.isSelected()) {
Textfeld_Antwort.setText("Leider falsche Anwtort.Sie haben 0€ gewonnen.");
}
else if (chckbxC.isSelected()) {
Textfeld_Antwort.setText("Leider falsche Anwtort.Sie haben 0€ gewonnen.");
}
else if (chckbxD.isSelected()) {
Textfeld_Antwort.setText("Richtige Antwort! Sie haben den Jackpot von 1.000.000€ gewonnen. Herzlichen Glückwunsch!");
}
}
}
});