Java :: Aufgabe #252 :: Lösung #3
5 Lösungen
#252
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.
#3
von luckyluke (850 Punkte)
- 07.02.2020 um 13:33 Uhr
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();
}
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
