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