261 lines
6.0 KiB
Java
261 lines
6.0 KiB
Java
|
package semesteraufgabe;
|
||
|
|
||
|
import java.util.*;
|
||
|
import java.io.*;
|
||
|
|
||
|
public class Casino {
|
||
|
|
||
|
public static void main(String[] args) {
|
||
|
try {
|
||
|
Scanner input = new Scanner(System.in);
|
||
|
|
||
|
System.out.println("Wilkommen im Casino Harri- Royale.");
|
||
|
System.out.println(" Mit einem Sieg erhält man 10€ und mit einer niederlage verliert man 10€");
|
||
|
|
||
|
// Spielererstellung
|
||
|
System.out
|
||
|
.println("Wie heißen sie und mit wie viel startguthaben möchten sie beginnen?(Beispiel: Emil,100)");
|
||
|
String eingabe = input.nextLine();
|
||
|
String[] daten = eingabe.split(",");
|
||
|
Spieler nplayer = new Spieler(daten[0], Integer.parseInt(daten[1]));
|
||
|
|
||
|
// Regeln
|
||
|
System.out.println("Es gibt 2 Spiele zur Auswahl: Schere-Stein-Papier und Münzwurf \n" + " Befehle: \n"
|
||
|
+ " Schere Stein Papier ===> ssp \n" + " Münzwurf ===>wurf \n"
|
||
|
+ "Guthaben anzeigen lassen ===> guthaben \n"
|
||
|
+ " Anzahl Gewonnene Runden anzeigen lassen ===> gewonnene \n"
|
||
|
+ "Casino verlassen ===> beenden ");
|
||
|
|
||
|
// auswahl
|
||
|
while (!eingabe.equalsIgnoreCase("beenden")) {
|
||
|
|
||
|
eingabe = input.nextLine();
|
||
|
eingabe.toLowerCase();
|
||
|
|
||
|
switch (eingabe) {
|
||
|
case "ssp":
|
||
|
Rundenergebnis runde = schereSteinPapier(nplayer, input);
|
||
|
break;
|
||
|
|
||
|
case "wurf":
|
||
|
runde = wurf(nplayer, input);
|
||
|
break;
|
||
|
|
||
|
case "guthaben":
|
||
|
System.out.println(nplayer.guthaben + "€");
|
||
|
System.out.println("");
|
||
|
break;
|
||
|
|
||
|
case "gewonnene":
|
||
|
System.out.println(nplayer.gewonneneRunden);
|
||
|
System.out.println("");
|
||
|
break;
|
||
|
|
||
|
case "gespielte":
|
||
|
System.out.println(nplayer.gespielteRunden);
|
||
|
System.out.println("");
|
||
|
break;
|
||
|
|
||
|
case "beenden":
|
||
|
System.out.println("Casino wird verlassen");
|
||
|
input.close();
|
||
|
break;
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
} catch (Exception e) {
|
||
|
System.out.println("Bitte eingabe nach angezeigtem Muster eingeben");
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Schere Stein Papier Spiel
|
||
|
|
||
|
public static Rundenergebnis schereSteinPapier(Spieler nplayer, Scanner input) {
|
||
|
|
||
|
boolean beenden = false;
|
||
|
|
||
|
int guthaben = 0;
|
||
|
int ergebnis = 0;
|
||
|
|
||
|
System.out.println("HIERMIT BEGINNT DAS SPIEL: SCHERE-STEIN-PAPIER");
|
||
|
|
||
|
while (!beenden) {
|
||
|
|
||
|
String[] gegenspieler = { "Schere", "Stein", "Papier" };
|
||
|
int zufall = (int) (Math.random() * 3);
|
||
|
// 0=schere, 1= stein, 2=Papier
|
||
|
|
||
|
System.out.println("Wählen Sie! (Schere, Stein oder Papier)");
|
||
|
String eingabe = input.nextLine();
|
||
|
String zug = eingabe.toLowerCase();
|
||
|
int gewonnen = 0;
|
||
|
|
||
|
System.out.println("Gegenspieler : " + gegenspieler[zufall] + "\n");
|
||
|
switch (zug) {
|
||
|
|
||
|
case "schere":
|
||
|
switch (zufall) {
|
||
|
case 0:
|
||
|
System.out.println("***DRAW***");
|
||
|
break;
|
||
|
|
||
|
case 1:
|
||
|
System.out.println("***LOSER***");
|
||
|
gewonnen = 2;
|
||
|
break;
|
||
|
|
||
|
case 2:
|
||
|
System.out.println("***WINNER***");
|
||
|
gewonnen = 1;
|
||
|
break;
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
case "stein":
|
||
|
switch (zufall) {
|
||
|
case 0:
|
||
|
System.out.println("***WINNER***");
|
||
|
gewonnen = 1;
|
||
|
break;
|
||
|
|
||
|
case 1:
|
||
|
System.out.println("***DRAW***");
|
||
|
break;
|
||
|
|
||
|
case 2:
|
||
|
System.out.println("***LOSER***");
|
||
|
gewonnen = 2;
|
||
|
break;
|
||
|
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
case "papier":
|
||
|
switch (zufall) {
|
||
|
|
||
|
case 0:
|
||
|
System.out.println("***LOSER***");
|
||
|
gewonnen = 2;
|
||
|
break;
|
||
|
|
||
|
case 1:
|
||
|
System.out.println("***WINNER***");
|
||
|
gewonnen = 1;
|
||
|
break;
|
||
|
|
||
|
case 2:
|
||
|
System.out.println("***DRAW***");
|
||
|
break;
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
if (gewonnen == 2) {
|
||
|
|
||
|
rundenErgebnis(nplayer, new Rundenergebnis(-1, -10));
|
||
|
} else if (gewonnen == 1) {
|
||
|
rundenErgebnis(nplayer, new Rundenergebnis(1, 10));
|
||
|
}
|
||
|
|
||
|
System.out.println("Wollen Sie erneut spielen? (Y/N)");
|
||
|
if (input.nextLine().toUpperCase().equals("N")) {
|
||
|
System.out.println("Es gibt 2 Spiele zur Auswahl: Schere-Stein-Papier und Münzwurf \n" + " Befehle: \n"
|
||
|
+ " Schere Stein Papier ===> ssp \n" + " Münzwurf ===>wurf \n"
|
||
|
+ "Guthaben anzeigen lassen ===> guthaben \n"
|
||
|
+ " Anzahl Gewonnene Runden anzeigen lassen ===> gewonnene \n"
|
||
|
+ "Casino verlassen ===> beenden ");
|
||
|
beenden = true;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
return new Rundenergebnis(ergebnis, guthaben);
|
||
|
}
|
||
|
|
||
|
// Münzwurf spiel
|
||
|
public static Rundenergebnis wurf(Spieler nplayer, Scanner input) {
|
||
|
|
||
|
boolean beenden2 = false;
|
||
|
|
||
|
int guthaben2 = 0;
|
||
|
int ergebnis2 = 0;
|
||
|
|
||
|
System.out.println("HIERMIT BEGINNT DAS SPIEL: MÜNZWURF");
|
||
|
|
||
|
while (!beenden2) {
|
||
|
|
||
|
String[] munze = { "Kopf", "Zahl" };
|
||
|
int zufall2 = (int) (Math.random() * 2);
|
||
|
// 0=Kopf 1= Zahl
|
||
|
|
||
|
System.out.println("Wählen Sie! (Kopf oder Zahl)");
|
||
|
String eingabe2 = input.nextLine();
|
||
|
String zug2 = eingabe2.toLowerCase();
|
||
|
int gewonnen2 = 0;
|
||
|
|
||
|
System.out.println("Münze landet auf : " + munze[zufall2] + "\n");
|
||
|
|
||
|
switch (zug2) {
|
||
|
case "kopf":
|
||
|
switch (zufall2) {
|
||
|
|
||
|
case 0:
|
||
|
System.out.println("***WINNER***");
|
||
|
gewonnen2 = 1;
|
||
|
break;
|
||
|
|
||
|
case 1:
|
||
|
System.out.println("***LOSER***");
|
||
|
gewonnen2 = 2;
|
||
|
break;
|
||
|
|
||
|
}
|
||
|
break;
|
||
|
case "zahl":
|
||
|
switch (zufall2) {
|
||
|
case 0:
|
||
|
System.out.println("***LOSER***");
|
||
|
gewonnen2 = 2;
|
||
|
break;
|
||
|
|
||
|
case 1:
|
||
|
System.out.println("***WINNER***");
|
||
|
gewonnen2 = 1;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Punkte
|
||
|
if (gewonnen2 == 2) {
|
||
|
|
||
|
rundenErgebnis(nplayer, new Rundenergebnis(-1, -10));
|
||
|
} else if (gewonnen2 == 1) {
|
||
|
rundenErgebnis(nplayer, new Rundenergebnis(1, 10));
|
||
|
}
|
||
|
|
||
|
System.out.println("Wollen Sie erneut spielen? (Y/N)");
|
||
|
if (input.nextLine().toUpperCase().equals("N")) {
|
||
|
System.out.println("Es gibt 2 Spiele zur Auswahl: Schere-Stein-Papier und Münzwurf \n" + " Befehle: \n"
|
||
|
+ " Schere Stein Papier ===> ssp \n" + " Münzwurf ===>wurf + \n"
|
||
|
+ "Guthaben anzeigen lasen ===> guthaben \n"
|
||
|
+ " Anzahl Gewonnene Runden anzeigen lassen ===> gewonnene \n"
|
||
|
+ "Casino verlassen ===> beenden ");
|
||
|
beenden2 = true;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
return new Rundenergebnis(ergebnis2, guthaben2);
|
||
|
|
||
|
}
|
||
|
|
||
|
private static void rundenErgebnis(Spieler nplayer, Rundenergebnis runde) {
|
||
|
nplayer.setGuthaben(runde);
|
||
|
nplayer.setGespielteRunden(1);
|
||
|
if (runde.ergebnis == 1)
|
||
|
nplayer.setGewonneneRunden(1);
|
||
|
}
|
||
|
|
||
|
}
|