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

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
#5
vote_ok
von kollar (340 Punkte) - 14.12.2019 um 16:14 Uhr
Quellcode ausblenden Java-Code
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Wuerfel {
	public static void main(String[] args) {

		FrWuerfel frwuerfel = new FrWuerfel("Würfel Spiel");
	}
}

class FrWuerfel extends JFrame implements ActionListener {
	JLabel lbl = new JLabel("Die Größere Zahl gewinnt!");
	JButton button = new JButton("würfeln");
	JTextField tfUser = new JTextField(10);
	JLabel lblAusgabe = new JLabel("computer:");
	JTextField tfAusgabe = new JTextField(10);
	JLabel lblKonklusion = new JLabel();

	JPanel pText = new JPanel();
	JPanel pUser = new JPanel();
	JPanel pAusgabe = new JPanel();
	JPanel pKonklusion = new JPanel();

	FrWuerfel(String titel) {
		super(titel);
		setVisible(true);
		setSize(300, 300);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		setLayout(new FlowLayout(FlowLayout.RIGHT, 20, 20));

		tfUser.setEditable(false);
		tfAusgabe.setEditable(false);
		tfUser.setHorizontalAlignment(JTextField.RIGHT);
		tfAusgabe.setHorizontalAlignment(JTextField.RIGHT);

		button.addActionListener(this);

		pText.add(lbl);
		pUser.add(button);
		pUser.add(tfUser);
		pAusgabe.add(lblAusgabe);
		pAusgabe.add(tfAusgabe);

		pKonklusion.add(lblKonklusion);

		add(pText);
		add(pUser);
		add(pAusgabe);
		add(pKonklusion);

		lblKonklusion.setText("                 ");
	}

	public void randomZahlen() {
		Random ran = new Random();
		int zahlUser = ran.nextInt(6) + 1;
		int zahlComp = ran.nextInt(6) + 1;
		tfUser.setText(Integer.toString(zahlUser));
		tfAusgabe.setText(Integer.toString(zahlComp));

		if (zahlUser > zahlComp) {
			lblKonklusion.setText("Sie haben gewonnen");
		}
		if (zahlUser < zahlComp) {
			lblKonklusion.setText("Der Computer hat gewonnen");
		}
		if (zahlUser == zahlComp) {
			lblKonklusion.setText("unentschieden");
		}
	}

	@Override
	public void actionPerformed(ActionEvent e) {

		randomZahlen();

	}
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

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