Java :: Aufgabe #9 :: Lösung #2

5 Lösungen Lösungen öffentlich
#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
#2
vote_ok
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.

Quellcode ausblenden Java-Code
/* @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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2102122

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.