Java :: Aufgabe #6
10 Lösungen
Würfelspiel (mit Random)
Anfänger - Java
von Jurom
- 22.10.2012 um 10:45 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.
Lassen Sie 2 Zufallszahlen zwischen 1-6 ausgeben, die höhere Zahl gewinnt.
Wiederholen sie das Würfeln solange, bis der Anwender gewinnt.
Lösungen:
//©2012 by Julius J. Hoffmann
//written with Eclipse
import java.util.*; //Importierung nötig für die Random-Klasse
public class Undefault //Die "ausführende Klasse"
{
public static void main(String[] args) //Main-Methode
{
System.out.println("DiceRoll - Zufälliges Würfeln \n"); //Ausgabe des Strings
int a = 0; //Initialisieren der Variablen a (Zahl d. Spielers)
int b = 0; //initialisieren der Variablen b (Zahl d. AI)
Random r = new Random(); //Anlegen des Random-Objektes
while (a<=b) //Initiieren einer while-Schleife
{ //while{} läuft solange bis die Bedingung erfüllt ist
a = r.nextInt(6)+1; //Erstellen einer Zufallszahl zwischen 0-5, dann Addition mit 1
b = r.nextInt(6)+1; // -||- (Random berechnet die 0 mit ein, so sind 6 Zahlen: 0-5)
System.out.println("Du würfelst eine: "+ a); //Ausgabe des Spielerwurfes
System.out.println("Der Gegner würfelt eine: "+ b); //Ausgabe des Computerwurfes
if(a==b) System.out.println(a + "=" + b + " -> Gleichstand \n"); //Kontrolle auf Gleichstand -> Ausgabe
else //wenn k. Gleichstand
{
if(a>b) //Kontrolle auf Sieg, Spieler
System.out.println(a + ">" + b + " -> Du gewinnst! \n"); //Ausgabe des Strings
else //wenn nicht
System.out.println(a + "<" + b + " -> Du verlierst! \n"); //letzter mögl. Fall, Sieg d. Computer
} //Ende der else-Anweisung (von a==b)
} //Ende der while-Schleife, Besonderheit: wenn die Bedingung erfüllt ist, springt die while-Schleife direkt hierhin
} //Ende main-Methode
} //Ende Klasse
public class Würfelspiel
{
public static void main(String[] args)
{
int augenzahlSpieler = 0;
int augenzahlComputer = 0;
while(augenzahlSpieler <= augenzahlComputer)
{
augenzahlSpieler = (int)(6*Math.random()+1);
augenzahlComputer = (int)(6*Math.random()+1);
System.out.println("Der Spieler würfelt " + augenzahlSpieler);
System.out.println("Der Computer würfelt " + augenzahlComputer);
if(augenzahlComputer >= augenzahlSpieler)
{
System.out.println("Spiel startet neu.");
System.out.println("-----------------");
}
}
System.out.println("Spieler hat gewonnen.");
}
}
import java.util.Random;
public class Spiel {
static Random ra;
static int anwender, cpu;
public static void main(String[] args) {
ra = new Random();
do {
anwender = ra.nextInt(6) + 1;
cpu = ra.nextInt(6) + 1;
System.out.println("Du hast eine " + anwender + " gewuerfelt. \n" +
"Dein Gegner hat eine " + cpu + " gewuerfelt");
if(cpu < anwender) {
System.out.println("Du hast gewonnen!");
} else {
System.out.println("Du hast leider verloren!");
}
} while(cpu >= anwender);
}
}import java.util.Random;
import java.util.Scanner;
/*
* 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.
*/
public class würfelspiel
{
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
Random r = new Random();
boolean isRunning = true;
do
{
System.out.print("<ENTER zum Spielen><ENDE zum Beenden>");
String eingabe = s.nextLine();
if (!eingabe.contains("end"))
{
int mensch = r.nextInt(6)+1;
int computer = r.nextInt(6)+1;
System.out.println(compareNumbers(mensch, computer)+"\n");
}
else
{
isRunning = false;
}
} while (isRunning);
}
public static String compareNumbers(int m, int c)
{
return ((m > c) ? "Mensch(" + m + ") gewinnt gegen Computer(" + c + ")" : "Computer(" + c + ") gewinnt gegen Mensch(" + m + ") ");
}
}
import java.util.Scanner;
import java.awt.Toolkit;
class Randy {
public static void main (String [] args) {
würfelspiel();
}
static Scanner eingabe () {
return new Scanner (System.in);
}
static void neurechnen () {
String neu = "j";
String ende = "n";
System.out.println("Eine neue Runde? [j/n]");
String a = eingabe().next();
while (true) {
if (neu.equalsIgnoreCase(a)) {
System.out.println("Ich freue mich auf eine neue Runde mit Ihnen.");
würfelspiel();
break;
}else if (ende.equalsIgnoreCase(a)) {
System.out.println("Auf Wiedersehen!");
}
System.exit(0);
}
}
static void würfelspiel () {
int x , y;
Toolkit fehlersound = java.awt.Toolkit.getDefaultToolkit();
x = (int) (Math.random () * 7);
y = (int) (Math.random () * 7);
if ( x == y ) {
System.out.println("Zahl_1: " + x);
System.out.println("Zahl_2: " + y);
System.out.println("");
System.out.println("Gleichstand!");
neurechnen();
}else if ( x < y ) {
System.out.println("Ihre Zahl: " + x);
System.out.println("Meine Zahl: " + y);
System.out.println("");
System.out.println("Ich habe gewonnen!");
neurechnen();
}else if ( x > y ) {
System.out.println("Ihre Zahl: " + x);
System.out.println("Meine Zahl: " + y);
System.out.println("");
System.out.println("Sie haben gewonnen!");
neurechnen();
}else {
fehlersound.beep();
System.err.println("Ein unbekannter Fehler ist aufgetreten!");
neurechnen();
}
}
}
import java.util.Random;
public class mainprogram {
public static void main ( String args[] ) {
int max = 6;
int min = 1;
int random = 0;
int player1 = randInt(min, max);
int computer = randInt(min, max);
if (player1 > computer) {
System.out.println("Spieler 1 gewinnt mit: " +player1);
}
if (computer > player1){
System.out.println("Computer gewinnt mit: " +computer);
}
if (player1 == computer) {
System.out.println("Gleichstand! Beide würfeln: " +player1);
}
}
public static int randInt(int min, int max) {
Random rand = new Random();
int randomNum = rand.nextInt((max - min) + 1) + min;
return randomNum;
}
}
Ausgabe:
Konsolenausgabe:
Spieler 1 gewinnt mit: 5
Konsolenausgabe:
Computer gewinnt mit: 4
// trainyourprogrammer
// Aufgabe 6
import java.util.Random;
public class Wuerfel
{
public static void main(String[] args)
{
Random zufall1 = new Random();
Random zufall2 = new Random();
int wuerfelComputer = zufall1.nextInt(6);
int wuerfelAnwender = zufall2.nextInt(6);
System.out.println();
System.out.println("Der Computer wuerfelt: " + wuerfelComputer);
System.out.println("Sie wuerfeln: " + wuerfelAnwender);
System.out.println();
if(wuerfelComputer > wuerfelAnwender || wuerfelComputer == wuerfelAnwender)
{
while(wuerfelComputer > wuerfelAnwender || wuerfelComputer == wuerfelAnwender)
{
if(wuerfelComputer > wuerfelAnwender)
{
System.out.println("Der Computer gewinnt!");
wuerfelComputer = zufall1.nextInt(6);
wuerfelAnwender = zufall2.nextInt(6);
System.out.println();
System.out.println("Der Computer wuerfelt: " + wuerfelComputer);
System.out.println("Sie wuerfeln: " + wuerfelAnwender);
System.out.println();
if(wuerfelAnwender > wuerfelComputer)
{
System.out.println("Sie haben gewonnen!");
}
}
else
{
System.out.println("Unentschieden! Neue Runde!");
wuerfelComputer = zufall1.nextInt(6);
wuerfelAnwender = zufall2.nextInt(6);
System.out.println();
System.out.println("Der Computer wuerfelt: " + wuerfelComputer);
System.out.println("Sie wuerfeln: " + wuerfelAnwender);
System.out.println();
if(wuerfelAnwender > wuerfelComputer)
{
System.out.println("Sie haben gewonnen!");
}
}
}
}
else
{
System.out.println("Sie haben gewonnen!");
}
}
}public class Main {
public static void main(String[] args) {
int userNumber;
int aiNumber;
do {
userNumber = (int) (Math.floor(Math.random() * 6) + 1);
aiNumber = (int) (Math.floor(Math.random() * 6) + 1);
} while (userNumber < aiNumber);
}
}Konsolenausgabe:
5
2
package de.patrick260.trainYourProgrammer.exercise_6;
import java.util.Random;
public class WuerfelspielMitRandom {
public static void main(String[] args) {
Random r = new Random();
int a = r.nextInt(6);
int b = r.nextInt(6);
while (a < 1 || b < 1) {
a = r.nextInt(6);
b = r.nextInt(6);
}
int rounds = 1;
System.out.println("Du hast eine " + a + " gewürfelt!");
System.out.println("Dein Gegner hat eine " + b + " gewürfelt!");
while (a <= b) {
if (a != b) {
System.out.println("Dein Gegner hat gewonnen!");
} else {
System.out.println("Unentschieden!");
}
rounds++;
a = r.nextInt(6);
b = r.nextInt(6);
while (a < 1 || b < 1) {
a = r.nextInt(6);
b = r.nextInt(6);
}
System.out.println("Du hast eine " + a + " gewürfelt!");
System.out.println("Dein Gegner hat eine " + b + " gewürfelt!");
}
System.out.println("Du hast nach " + rounds + " Runden gewonnen!");
}
}
/** Short dice game against the computer. You win when your number is greater! */
import java.util.Random;
class DiceGame {
public static void wait(int ms) {
try {
Thread.sleep(ms);
} catch (Exception ex) {
System.out.println("Error during waiting time!");
}
}
public static void main(String[] args) {
boolean win = false;
int counter = 0;
Random random = new Random();
System.out.println("Lets\'s play a dice game!");
wait(1000);
System.out.println("You win when your number is greater than mine!");
wait(1000);
while (!win) {
int myNumber = random.nextInt(6) + 1;
int yourNumber = random.nextInt(6) + 1;
System.out.println("Your number is: " + yourNumber);
wait(1000);
System.out.println("My number is: " + myNumber);
wait(1000);
if (yourNumber > myNumber) {
System.out.println("You won!");
wait(1000);
if (counter == 1) {
System.out.println("I won " + counter + " round, before you won 1 round!");
} else {
System.out.println("I won " + counter + " rounds, before you won 1 round!");
}
win = true;
} else {
counter++;
System.out.println("I won!");
wait(1000);
System.out.println("Let\'s play another round!");
System.out.println("");
wait(1000);
}
}
}
}