Java :: Aufgabe #9 :: Lösung #2
5 Lösungen
#9
Würfelspiel(Random) mit GUI
Fortgeschrittener - Java
von Jurom
- 23.10.2012 um 12:38 Uhr
Das Programm soll ein einfaches Glücksspiel simulieren.
Lassen Sie 2 Zufallszahlen zwischen 1-6 ausgeben, die höhere Zahl gewinnt.
Wiederholen sie das Würfeln solange, bis der Anwender gewinnt.
Erstellen Sie ein GUI für das Programm, nach dem angehängtem Lösungslayout.
Fertiges Programm
Lassen Sie 2 Zufallszahlen zwischen 1-6 ausgeben, die höhere Zahl gewinnt.
Wiederholen sie das Würfeln solange, bis der Anwender gewinnt.
Erstellen Sie ein GUI für das Programm, nach dem angehängtem Lösungslayout.
Fertiges Programm
#2
von HaraldK (260 Punkte)
- 22.02.2016 um 21:28 Uhr
Das Lösungslayout ist nicht mehr Verfügbar, daher habe ich ein eigenes einfaches Layout dafür erstellt.
Java-Code
Ausgabe: siehe Anhänge
/* @Author H.K.
* @Date 22.02.2016
*
* Programmbeschreibung:
* Würfle eine Zahl zwischen 1 und 6, Darstellung in einem GUI
*/
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JButton;
import java.awt.Font;
import java.awt.event.ActionListener;
import java.util.Random;
import java.awt.event.ActionEvent;
import javax.swing.SwingConstants;
import java.awt.Color;
public class mainprogramGUI {
private static JLabel lblZahl1 = new JLabel("");
private static JLabel lblZahl2 = new JLabel("");
private static JButton btnNewButton = new JButton("W\u00FCrfeln!");
private JFrame frame;
private JLabel lblWINNER = new JLabel("Du hast gewonnen!");
private JLabel lblLOOSER = new JLabel("Du hast verloren!");
private JLabel lblDRAW = new JLabel("Gleichstand!");
private final JButton btnReset = new JButton("RESET");
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
mainprogramGUI window = new mainprogramGUI();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public String buttonaufruf() {
int min = 1;
int max = 6;
String randomnumber = randInt(min,max);
return randomnumber;
}
public String randInt(int min, int max) {
Random rand = new Random();
int randomNum = rand.nextInt((max - min) + 1) + min;
String randomString = Integer.toString(randomNum);
return randomString;
}
/**
* Create the application.
*/
public mainprogramGUI() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JLabel lblDuWrfelst = new JLabel("Du w\u00FCrfelst eine ");
lblDuWrfelst.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblDuWrfelst.setBounds(72, 56, 130, 14);
frame.getContentPane().add(lblDuWrfelst);
JLabel lblComputerWrfelt = new JLabel("Computer w\u00FCrfelt eine ");
lblComputerWrfelt.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblComputerWrfelt.setBounds(72, 101, 161, 14);
frame.getContentPane().add(lblComputerWrfelt);
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
lblWINNER.setVisible(false);
lblLOOSER.setVisible(false);
lblDRAW.setVisible(false);
String player1 = buttonaufruf();
int intplayer1 = Integer.parseInt(player1);
String computer = buttonaufruf();
int intcomputer = Integer.parseInt(computer);
lblZahl1.setText(player1);
lblZahl1.setVisible(true);
lblZahl2.setText(computer);
lblZahl2.setVisible(true);
if (intplayer1 > intcomputer) {
lblWINNER.setVisible(true);
}
if (intcomputer > intplayer1){
lblLOOSER.setVisible(true);
}
if (intplayer1 == intcomputer) {
lblDRAW.setVisible(true);
}
}
});
btnNewButton.setBounds(110, 184, 89, 23);
frame.getContentPane().add(btnNewButton);
lblZahl1.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblZahl1.setBounds(225, 56, 46, 14);
frame.getContentPane().add(lblZahl1);
lblZahl2.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblZahl2.setBounds(225, 101, 46, 14);
frame.getContentPane().add(lblZahl2);
lblWINNER.setForeground(new Color(0, 128, 0));
lblWINNER.setHorizontalAlignment(SwingConstants.CENTER);
lblWINNER.setFont(new Font("Tahoma", Font.BOLD, 16));
lblWINNER.setBounds(134, 11, 166, 23);
frame.getContentPane().add(lblWINNER);
lblLOOSER.setHorizontalAlignment(SwingConstants.CENTER);
lblLOOSER.setForeground(new Color(139, 0, 0));
lblLOOSER.setFont(new Font("Tahoma", Font.BOLD, 16));
lblLOOSER.setBounds(134, 11, 166, 23);
frame.getContentPane().add(lblLOOSER);
lblDRAW.setHorizontalAlignment(SwingConstants.CENTER);
lblDRAW.setForeground(new Color(0, 0, 255));
lblDRAW.setFont(new Font("Tahoma", Font.BOLD, 16));
lblDRAW.setBounds(134, 11, 166, 23);
frame.getContentPane().add(lblDRAW);
btnReset.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
lblWINNER.setVisible(false);
lblLOOSER.setVisible(false);
lblDRAW.setVisible(false);
lblZahl1.setVisible(false);
lblZahl2.setVisible(false);
}
});
btnReset.setBounds(239, 184, 89, 23);
frame.getContentPane().add(btnReset);
lblZahl1.setVisible(false);
lblZahl2.setVisible(false);
lblWINNER.setVisible(false);
lblLOOSER.setVisible(false);
lblDRAW.setVisible(false);
}
}
Ausgabe: siehe Anhänge
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
