Studienleistung/Casino.java

261 lines
6.0 KiB
Java
Raw Normal View History

2024-01-07 16:44:02 +01:00
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);
}
}