src/Roulette.java hinzugefügt
Erste Version eines Lösungsvorschlags für das Roulette-Spiels aus der Übung.main
parent
10c35edda6
commit
34d18208af
|
@ -0,0 +1,149 @@
|
|||
import java.util.Scanner;
|
||||
|
||||
public class Roulette {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Scanner kb = new Scanner(System.in);
|
||||
|
||||
int geld = 100;
|
||||
int rundenzähler = 1;
|
||||
|
||||
int einsatzZahl, einsatzGerade, einsatzHälfte, einsatzDrittel, einsatzSpalte, einsatzFarbe;
|
||||
int wetteZahl = 0, wetteDrittel = 0, wetteHälfte = 0, wetteSpalte = 0;
|
||||
boolean wetteGerade = false;
|
||||
String wetteFarbe = "";
|
||||
|
||||
System.out.println("Willkommen im Mannheimer Spielcasino!\n");
|
||||
System.out.printf("Sie haben ein Spielkapital von %d Euro zur Verfügung.%n", geld);
|
||||
|
||||
do {
|
||||
System.out.printf("Faites votre jeux. Bitte machen Sie Ihre Einsätze für die %d. Runde. Sie haben %d Euro zur Verfügung.%n", rundenzähler, geld);
|
||||
|
||||
// Einsätze
|
||||
System.out.print("Wie viel Geld möchten Sie auf eine Zahl zwischen 0 und 36 setzen? ");
|
||||
einsatzZahl = Integer.parseInt(kb.nextLine());
|
||||
if (einsatzZahl > 0) {
|
||||
System.out.print("Auf welche Zahl möchten Sie setzen? ");
|
||||
wetteZahl = Integer.parseInt(kb.nextLine());
|
||||
geld -= einsatzZahl;
|
||||
}
|
||||
|
||||
System.out.printf("%nSie haben noch %d Euro, wie viel davon möchten Sie auf gerade oder ungerade setzen? ", geld);
|
||||
einsatzGerade = Integer.parseInt(kb.nextLine());
|
||||
if (einsatzGerade > 0) {
|
||||
System.out.print("Worauf möchten Sie setzen? Eine gerade oder ungerade Zahl? (g/u) ");
|
||||
wetteGerade = kb.nextLine().equals("g");
|
||||
geld -= einsatzGerade;
|
||||
}
|
||||
|
||||
System.out.printf("%nSie haben noch %d Euro, wie viel davon möchten Sie auf eine Zahlenhälfte setzen? ", geld);
|
||||
einsatzHälfte = Integer.parseInt(kb.nextLine());
|
||||
if (einsatzHälfte > 0) {
|
||||
System.out.print("Worauf möchten Sie setzen? Auf die 1. (1-18) oder 2. (19-36) Hälfte der Zahlen? (1 o. 2) ");
|
||||
wetteHälfte = Integer.parseInt(kb.nextLine());
|
||||
geld -= einsatzHälfte;
|
||||
}
|
||||
|
||||
System.out.printf("%nSie haben noch %d Euro, wie viel davon möchten Sie auf ein Zahlendrittel setzen? ", geld);
|
||||
einsatzDrittel = Integer.parseInt(kb.nextLine());
|
||||
if (einsatzDrittel > 0) {
|
||||
System.out.print("Worauf möchten Sie setzen? Auf das 1. (1-12), 2. (13-24) oder 3. (25-36) Drittel der Zahlen? (1, 2 o. 3) ");
|
||||
wetteDrittel = Integer.parseInt(kb.nextLine());
|
||||
geld -= einsatzDrittel;
|
||||
}
|
||||
|
||||
System.out.printf("%nSie haben noch %d Euro, wie viel davon möchten Sie auf eine Spalte setzen? ", geld);
|
||||
einsatzSpalte = Integer.parseInt(kb.nextLine());
|
||||
if (einsatzSpalte > 0) {
|
||||
System.out.print("Worauf möchten Sie setzen? Auf die 1., 2. o. 3. Kolonne? (1, 2 o. 3) ");
|
||||
wetteSpalte = Integer.parseInt(kb.nextLine());
|
||||
geld -= einsatzSpalte;
|
||||
}
|
||||
|
||||
System.out.printf("%nSie haben noch %d Euro, wie viel davon möchten Sie auf schwarz oder rot setzen? ", geld);
|
||||
einsatzFarbe = Integer.parseInt(kb.nextLine());
|
||||
if (einsatzFarbe > 0) {
|
||||
System.out.print("Worauf möchten Sie setzen? Eine schwarze oder rote Zahl? (s/r) ");
|
||||
String eingabe = kb.nextLine();
|
||||
if (eingabe.equals("r"))
|
||||
wetteFarbe = "rot";
|
||||
else
|
||||
wetteFarbe = "schwarz";
|
||||
|
||||
geld -= einsatzFarbe;
|
||||
}
|
||||
|
||||
// Ermitteln der Zahl
|
||||
System.out.println();
|
||||
System.out.println("Rien ne va plus...");
|
||||
|
||||
int zahl = (int)(Math.random() * 37);
|
||||
|
||||
String farbe = "schwarz";
|
||||
if (zahl == 0)
|
||||
farbe = "grün";
|
||||
else if (zahl % 2 == 1 && (zahl >= 1 && zahl <= 10 || zahl >= 19 && zahl <= 28)
|
||||
|| zahl % 2 == 0 && (zahl >= 11 && zahl <= 18 || zahl >= 29 && zahl <= 36) )
|
||||
farbe = "rot";
|
||||
|
||||
System.out.printf("%n%d, %s.%n%n", zahl, farbe);
|
||||
|
||||
// Gewinnermittlung
|
||||
if (einsatzZahl > 0 && zahl == wetteZahl) {
|
||||
int gewinn = einsatzZahl * 35;
|
||||
System.out.printf("Gratulation, Sie haben %d Euro für die richte Zahl gewonnen.%n", gewinn);
|
||||
geld += gewinn + einsatzZahl;
|
||||
}
|
||||
|
||||
if (einsatzGerade > 0 && zahl % 2 == 0 && wetteGerade) {
|
||||
int gewinn = einsatzGerade;
|
||||
System.out.printf("Gratulation, Sie haben %d Euro für eine %sgerade Zahl gewonnen.%n", gewinn, (zahl % 2 == 0 && wetteGerade)? "" : "un");
|
||||
geld += gewinn + einsatzGerade;
|
||||
}
|
||||
|
||||
if (einsatzHälfte > 0 && (zahl - 1) / 18 + 1 == wetteHälfte) {
|
||||
int gewinn = einsatzHälfte;
|
||||
System.out.printf("Gratulation, Sie haben %d Euro für die richtige Hälfte gewonnen.%n", gewinn);
|
||||
geld += gewinn + einsatzHälfte;
|
||||
}
|
||||
|
||||
if (einsatzDrittel > 0 && (zahl - 1) / 12 + 1 == wetteDrittel) {
|
||||
int gewinn = einsatzDrittel * 2;
|
||||
System.out.printf("Gratulation, Sie haben %d Euro für das richtige Drittel gewonnen.%n", gewinn);
|
||||
geld += gewinn + einsatzDrittel;
|
||||
}
|
||||
|
||||
if (einsatzSpalte > 0 && zahl % 12 + 1 == wetteSpalte) {
|
||||
int gewinn = einsatzSpalte * 2;
|
||||
System.out.printf("Gratulation, Sie haben %d Euro für die richtige Kolonne gewonnen.%n", gewinn);
|
||||
geld += gewinn + einsatzSpalte;
|
||||
}
|
||||
|
||||
if (einsatzFarbe > 0 && wetteFarbe.equals(farbe)) {
|
||||
int gewinn = einsatzFarbe;
|
||||
System.out.printf("Gratulation, Sie haben %d Euro für die richtige Farbe gewonnen.%n", gewinn);
|
||||
geld += gewinn + einsatzFarbe;
|
||||
}
|
||||
|
||||
// Rundenende
|
||||
if (geld <= 0) {
|
||||
System.out.println("Leider sind Sie pleite und müssen unser Casino nun verlassen.");
|
||||
break;
|
||||
}
|
||||
|
||||
System.out.printf("%nSie haben nun %d Euro zur Verfügung. Möchten Sie weiterspielen? (j/n) ", geld);
|
||||
String weiter = kb.nextLine();
|
||||
if (!weiter.equals("j") && !weiter.equals("ja"))
|
||||
break;
|
||||
|
||||
rundenzähler += 1;
|
||||
|
||||
} while(true);
|
||||
|
||||
System.out.println("Danke für Ihren Besuch und auf Wiedersehen!");
|
||||
|
||||
kb.close();
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue