Java :: Aufgabe #252
5 Lösungen

Glücksspiel Zufällige Zahl 0-9
Fortgeschrittener - Java
von re_mas
- 27.11.2019 um 18:30 Uhr
Die Aufgabenstellung ist wie folgt:
- Glücksspiel bei der eine random Zahl zwischen 0 - 9 erzeugt werden soll.
- Der Spieler hat ein Startkonto von 10.000 Punkten und kann damit einen beliebigen Teilbetrag auf die zufällig erzeugte Zahl setzen.
- Liegt er richtig bekommt er das 9 Fache seines Einsatzes als Gewinn
- Programmieren Sie ein entsprechendes Programm, welches die Eingaben von der Tastatur einliest und
die Ausgaben auf dem Bildschirm liefert. Die zu erratende Zahl kann durch einen verfügbaren Zufallsgenerator gezogen werden.
- Glücksspiel bei der eine random Zahl zwischen 0 - 9 erzeugt werden soll.
- Der Spieler hat ein Startkonto von 10.000 Punkten und kann damit einen beliebigen Teilbetrag auf die zufällig erzeugte Zahl setzen.
- Liegt er richtig bekommt er das 9 Fache seines Einsatzes als Gewinn
- Programmieren Sie ein entsprechendes Programm, welches die Eingaben von der Tastatur einliest und
die Ausgaben auf dem Bildschirm liefert. Die zu erratende Zahl kann durch einen verfügbaren Zufallsgenerator gezogen werden.
Lösungen:

import java.util.Scanner; public class Aufg4 { public static void main(String[] args) { int Bankroll, Wette, Einsatz, Zufall; Bankroll = 10000; Scanner sc = new Scanner(System.in); while(Bankroll > 0) { System.out.printf("%s %n", "Einsatz: "); Einsatz = sc.nextInt(); System.out.printf("%s %n", "Wette eine Zahl zwischen 0 und 9: "); Wette = sc.nextInt(); Zufall = (int) (Math.random()*10); if(Wette == Zufall) { System.out.printf("%-1s %-1d %-1s %-1d %-1s %-1d %n", "Gewonnen: ", Bankroll, "+", Einsatz*9, "=", Bankroll + Einsatz*9); Bankroll += Einsatz * 9; }else { System.out.printf("%-1s %-1d %-1s %-1d %-1s %-1d %n", "Verloren: ", Bankroll, "-", Einsatz, "=", Bankroll - Einsatz); Bankroll -= Einsatz; } } System.out.printf("%s %n", "0 Punkte, Spiel ist zu Ende!"); sc.close(); } }

import java.util.Scanner; public class Gluecksspiel { public static void main(String[] args) { int glueckszahl = (int)(Math.random()*10); int konto = 10000; Scanner scanner = new Scanner(System.in); System.out.println("Bitte geben Sie Ihre Glueckszahl ein: "); int zahl = scanner.nextInt(); System.out.println("Bitte geben Sie Ihren Einsatz ein: "); int einsatz = scanner.nextInt(); while (einsatz > konto || einsatz < 0) { System.out.println("Fehlerhafte Eingabe: "); System.out.println("Bitte geben Sie Ihren Einsatz ein: "); einsatz = scanner.nextInt(); } int kontoNeu = konto - einsatz; System.out.println("Die gezogene Glueckszahl lautet: "+glueckszahl); if (zahl == glueckszahl) { kontoNeu = konto + einsatz*9; System.out.println("Glueckwunsch! Ihr neuer Punktestand betraegt: "+kontoNeu); } else { System.out.println("Wie schade! Ihr aktueller Punktestand betraegt: "+kontoNeu); } scanner.close(); } }

package com.company; import java.util.InputMismatchException; import java.util.Scanner; public class Spieler extends GeldbörseSpieler { String name; int numberToBetOn; int pointsSet; public Spieler(String name) { this.name = name; } public void numberToBetOn() throws InputMismatchException { Scanner scanner = new Scanner(System.in); System.out.println("Choose number between 0-9 you bet on!"); while (true) { try { numberToBetOn = scanner.nextInt(); while (numberToBetOn < 0 || numberToBetOn > 9) { System.out.println("Number between 0-9 needed! \n Try again "); numberToBetOn = scanner.nextInt(); } System.out.println("Number: " + numberToBetOn); break; } catch (InputMismatchException e) { String errStr = scanner.next(); System.out.println("Wrong input! Try again"); } } } public void putPointsOn() { Scanner scanner1 = new Scanner(System.in); while (true) { try { System.out.println(" How many points do you want to set? \n You have " + geldbörsenInhalt + " points to set"); pointsSet = scanner1.nextInt(); while (geldbörsenInhalt < pointsSet) { System.out.println("You chose more then you have. Choose number between 1-" + geldbörsenInhalt); pointsSet = scanner1.nextInt(); } break; } catch (InputMismatchException e) { String errStr = scanner1.next(); System.out.println("Wrong input! Try again"); } } } }Zitat:
Nächste Klasse
package com.company; import java.util.Random; public class Glücksspiel extends Spieler { int randomNumber; public Glücksspiel(String name) { super(name); } private void createRandomNumber() throws InterruptedException { Random random = new Random(); randomNumber = random.nextInt(9); System.out.print("\n Creating number "); for (int i = 0; i < 3; i++) { Thread.sleep(350); System.out.print("."); } System.out.println("\n Random number: " + randomNumber); Thread.sleep(500); } public boolean checkForWin() { return numberToBetOn == randomNumber; } public void profit() throws InterruptedException { checkForWin(); if (checkForWin() == true) { geldbörsenInhalt += pointsSet * 9; System.out.println("You win! Now you have " + geldbörsenInhalt + " points"); Thread.sleep(1600); } else { geldbörsenInhalt -= pointsSet; System.out.println("You lose! Maybe next time..\n Your current score is: " + geldbörsenInhalt); Thread.sleep(1000); } } public void startGame() throws InterruptedException { while (geldbörsenInhalt > 0) { Thread.sleep(200); numberToBetOn(); putPointsOn(); createRandomNumber(); profit(); } System.out.println("\n No points left..."); } }Zitat:
Klasse Geldbörse
package com.company; public class GeldbörseSpieler { int geldbörsenInhalt = 10000; }Zitat:
Main
package com.company; public class Main { public static void main(String[] args) throws InterruptedException { Glücksspiel game1 = new Glücksspiel("Max"); game1.startGame(); } }

import java.util.*; public class Gambling { static Scanner sc = new Scanner(System.in); public static void main(String args[]) { int money = 10000; int player = 0; int x = 0; boolean run = true; while(run) { //Input Money do{ System.out.print("Input the amount you want to bet (Your money: "+money+"): "); x = sc.nextInt(); }while (x>money); money -= x; //Input Number do{ System.out.print("Choose a number between 0 and 9: "); player = sc.nextInt(); }while (player<0 || player>9); //Wait try { Thread.sleep(1000); } catch (Exception e) {} //Random if (Math.random()*9 == player) { System.out.println("You won!"); money += x*9; } else {System.out.println("You lost the game");} } } }

import java.util.Random; import java.util.Scanner; /* #252 AUFGABENSTELLUNG Die Aufgabenstellung ist wie folgt: - Glücksspiel bei der eine random Zahl zwischen 0 - 9 erzeugt werden soll. - Der Spieler hat ein Startkonto von 10.000 Punkten und kann damit einen beliebigen Teilbetrag auf die zufällig erzeugte Zahl setzen. - Liegt er richtig bekommt er das 9 Fache seines Einsatzes als Gewinn - Programmieren Sie ein entsprechendes Programm, welches die Eingaben von der Tastatur einliest und die Ausgaben auf dem Bildschirm liefert. Die zu erratende Zahl kann durch einen verfügbaren Zufallsgenerator gezogen werden. */ public class Gluecksspiel { public static void main(String[] args) { //Spielerguthaben einrichten int balance = 10000; int bet = 0; int luckyNumber = 0; while(balance > 0) { //Spieler nach seiner Zahl abfragen (Eingabe zwischen 0-9) Scanner scanner = new Scanner(System.in); do { System.out.println("Geben Sie Ihre Glückzahl ein (Zahlen zwischen 0-9): "); luckyNumber = scanner.nextInt(); } while (luckyNumber < 0 || luckyNumber > 9); //Kontostand ausgeben System.out.println("Dein KONTOSTAND: "+balance); //Spieler Guthaben setzen lassen (nur positive Eingaben max. Guthaben erlauben) do { System.out.println("Wie viel möchten Sie setzen? (Max. Einsatz ist "+balance+"):"); bet = scanner.nextInt(); } while (bet > balance || bet < 0); System.out.println("----------------"); //Random Zahl generieren Random rand = new Random(); int randomNumber = rand.nextInt(10); System.out.println("Die GEWINNERNUMMER lautet: "); //Spieler warten lassen try { Thread.sleep(2000); } catch (Exception e) {} System.out.println("\t"+randomNumber); //LuckyNumber mit RandomNumber vergleichen und evtl. Gewinne ausschütten if(luckyNumber == randomNumber) { balance += (bet * 9); System.out.println("GLÜCKWUNSCH!"); System.out.println("Du gewinnst "+(bet*9)+" Punkte!"); } else { balance -= bet; System.out.println("Leider verloren..."); } System.out.println(); System.out.println("----------------"); System.out.println(); } System.out.println("======================="); System.out.println("Ihr Endkontostand liegt bei "+balance+"."); System.out.println("Das Spiel ist beendet."); } }