blackjack mit junit
parent
ab6d2f5668
commit
e80cb60469
|
@ -5,216 +5,269 @@ import java.util.Collections;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
// Modell
|
||||||
public class BlackJack {
|
public class BlackJack {
|
||||||
private String name;
|
private String spielerName;
|
||||||
private int guthaben;
|
private int guthaben;
|
||||||
private int handKartenAnzahl;
|
private int punkte;
|
||||||
private int speicherErstEinsatz;
|
private int speichereEinsatz;
|
||||||
|
private boolean hitspiele;
|
||||||
|
|
||||||
public BlackJack(String name, int guthaben) {
|
public BlackJack(String spielerName, int guthaben) {
|
||||||
this.name = name;
|
this.spielerName = spielerName;
|
||||||
this.guthaben = guthaben;
|
this.guthaben = guthaben;
|
||||||
this.handKartenAnzahl = 0;
|
this.punkte = 0;
|
||||||
this.speicherErstEinsatz = 0;
|
this.speichereEinsatz = 0;
|
||||||
|
this.hitspiele = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setspeicherErstEinsatz(int speicherErstEinsatz) {
|
public int getSpeichereEinsatz() {
|
||||||
this.speicherErstEinsatz = speicherErstEinsatz;
|
return speichereEinsatz;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getspeicherErstEinsatz() {
|
public void setSpeichereEinsatz(int speichereEinsatz) {
|
||||||
return speicherErstEinsatz;
|
this.speichereEinsatz = speichereEinsatz;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getSpielerName() {
|
||||||
return name;
|
return spielerName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setName(String name) {
|
public void setSpielerName(String spielerName) {
|
||||||
this.name = name;
|
this.spielerName = spielerName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getGuthaben() {
|
public int getGuthaben() {
|
||||||
return guthaben;
|
return guthaben;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setGuthaben(int guthaben) {
|
public void addGuthaben(int betrag) {
|
||||||
this.guthaben += guthaben;
|
this.guthaben += betrag;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void subtrahiereGuthaben(int guthaben) {
|
public void subtrahiereGuthaben(int betrag) {
|
||||||
this.guthaben -= guthaben;
|
this.guthaben -= betrag;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getHandKartenAnzahl() {
|
public int getPunkte() {
|
||||||
return handKartenAnzahl;
|
return punkte;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setHandKartenAnzahl(int handKartenAnzahl) {
|
public void addPunkte(int punkte) {
|
||||||
this.handKartenAnzahl += handKartenAnzahl;
|
this.punkte += punkte;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isHitspiele() {
|
||||||
|
return hitspiele;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHitspiele(boolean hitspiele) {
|
||||||
|
this.hitspiele = hitspiele;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "Spieler [name=" + name + ", Guthaben=" + guthaben + "€]";
|
return "Spieler [Name=" + spielerName + ", Guthaben=" + guthaben + "€]";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Die GUI klasse oder View
|
||||||
|
class BlackJackView {
|
||||||
|
private Scanner scanner;
|
||||||
|
|
||||||
|
public BlackJackView() {
|
||||||
|
scanner = new Scanner(System.in);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void zeigeSpielerDetails(BlackJack spieler) {
|
||||||
|
System.out.println(spieler.getSpielerName() + " hat " + spieler.getGuthaben() + "€ und " + spieler.getPunkte()
|
||||||
|
+ " Punkte.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void zeigeNachricht(String nachricht) {
|
||||||
|
System.out.println(nachricht);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int frageEinsatz() {
|
||||||
|
System.out.println("Wähle einen Einsatz von: [5€, 10€, 25€, 100€]");
|
||||||
|
return scanner.nextInt();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String frageObGuthabenAufladen() {
|
||||||
|
System.out.println("Du hast nicht genug Guthaben. Möchtest du Guthaben aufladen? Ja/Nein");
|
||||||
|
return scanner.next();
|
||||||
|
}
|
||||||
|
|
||||||
|
public int frageGuthabenBetrag() {
|
||||||
|
System.out.println("Wie viel möchtest du aufladen?");
|
||||||
|
return scanner.nextInt();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String frageObHitOderStand() {
|
||||||
|
System.out.println("Du hast nicht genug Guthaben. Möchtest du Guthaben aufladen? Ja/Nein");
|
||||||
|
return scanner.next();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void schließeScanner() {
|
||||||
|
scanner.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Controller verwaltung das Spielabluaf
|
||||||
class Spiel {
|
class Spiel {
|
||||||
|
|
||||||
private BlackJack spieler1;
|
private BlackJack spieler1;
|
||||||
private BlackJack spieler2;
|
private BlackJack spieler2;
|
||||||
private ArrayList<Integer> KartenSpiellist;
|
private ArrayList<Integer> kartendeck;
|
||||||
private Random random;
|
private Random random;
|
||||||
private ArrayList<Integer> erlaubteEinsätze;
|
private ArrayList<Integer> erlaubteEinsätze;
|
||||||
private Scanner scan;
|
private BlackJackView view;
|
||||||
private int wähleEinsatz;
|
|
||||||
|
|
||||||
public Spiel(BlackJack spieler1, BlackJack spieler2) {
|
public Spiel(BlackJack spieler1, BlackJack spieler2, BlackJackView view) {
|
||||||
this.spieler1 = spieler1;
|
this.spieler1 = spieler1;
|
||||||
this.spieler2 = spieler2;
|
this.spieler2 = spieler2;
|
||||||
|
this.view = view;
|
||||||
this.random = new Random();
|
this.random = new Random();
|
||||||
this.wähleEinsatz = 0;
|
|
||||||
this.scan = new Scanner(System.in);
|
|
||||||
this.erlaubteEinsätze = new ArrayList<>();
|
this.erlaubteEinsätze = new ArrayList<>();
|
||||||
KartenSpiellist = new ArrayList<>();
|
kartendeck = new ArrayList<>();
|
||||||
setAlleKartenspiele();
|
initialisiereKartendeck();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean guthabenAufladen(BlackJack spieler) {
|
public void initialisiereKartendeck() {
|
||||||
System.out.println("Du hast kein Genug Guthaben\nMöchtest du Guthaben Aufladen? Ja/Nein");
|
for (int i = 1; i <= 11; i++) {
|
||||||
scan.nextLine();
|
kartendeck.add(i);
|
||||||
String guthabenAufladen = scan.nextLine();
|
}
|
||||||
if (guthabenAufladen.equalsIgnoreCase("ja")) {
|
Collections.shuffle(kartendeck);
|
||||||
System.out.println("Wie Viel?");
|
}
|
||||||
int aufladen = scan.nextInt();
|
|
||||||
if (aufladen > 0) {
|
public ArrayList<Integer> getKartendeck() {
|
||||||
spieler.setGuthaben(aufladen);
|
return kartendeck;
|
||||||
System.out.println("Deine neue Guthaben= " + spieler.getGuthaben());
|
}
|
||||||
|
|
||||||
|
public boolean guthabenAufladen(BlackJack spieler) {
|
||||||
|
String antwort = view.frageObGuthabenAufladen();
|
||||||
|
if (antwort.equalsIgnoreCase("ja")) {
|
||||||
|
int betrag = view.frageGuthabenBetrag();
|
||||||
|
if (betrag > 0) {
|
||||||
|
spieler.addGuthaben(betrag);
|
||||||
|
view.zeigeNachricht("Dein neues Guthaben: " + spieler.getGuthaben() + "€");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean bestimmEinsätze(BlackJack spieler) {
|
public boolean einsatzBestimmen(BlackJack spieler) {
|
||||||
erlaubteEinsätze.add(5);
|
erlaubteEinsätze.add(5);
|
||||||
erlaubteEinsätze.add(10);
|
erlaubteEinsätze.add(10);
|
||||||
erlaubteEinsätze.add(25);
|
erlaubteEinsätze.add(25);
|
||||||
erlaubteEinsätze.add(100);
|
erlaubteEinsätze.add(100);
|
||||||
boolean check = false;
|
|
||||||
System.out.println("Hallo " + spieler.getName() + " dein aktuelles Guthaben: " + spieler.getGuthaben());
|
|
||||||
while (!check) {
|
|
||||||
if (spieler.getGuthaben() < 5)
|
|
||||||
if (guthabenAufladen(spieler))
|
|
||||||
continue;
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
|
|
||||||
System.out.println("Wähle einen Einsatz von: [5€,10€,25€,100€]");
|
boolean einsatzAkzeptiert = false;
|
||||||
wähleEinsatz = scan.nextInt();
|
view.zeigeNachricht(
|
||||||
if (!erlaubteEinsätze.contains(wähleEinsatz)) {
|
"Hallo " + spieler.getSpielerName() + ", dein aktuelles Guthaben: " + spieler.getGuthaben() + "€");
|
||||||
System.out.println("Falsche Eingabe");
|
while (!einsatzAkzeptiert) {
|
||||||
|
if (spieler.getGuthaben() < 5) {
|
||||||
|
if (guthabenAufladen(spieler)) {
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int einsatz = view.frageEinsatz();
|
||||||
|
if (!erlaubteEinsätze.contains(einsatz)) {
|
||||||
|
view.zeigeNachricht("Falsche Eingabe. Bitte versuche es erneut.");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (wähleEinsatz > spieler.getGuthaben()) {
|
|
||||||
if (guthabenAufladen(spieler))
|
if (einsatz > spieler.getGuthaben()) {
|
||||||
|
if (guthabenAufladen(spieler)) {
|
||||||
continue;
|
continue;
|
||||||
else
|
} else {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (erlaubteEinsätze.contains(wähleEinsatz)) {
|
if (erlaubteEinsätze.contains(einsatz)) {
|
||||||
int speicherErstEinsatz = spieler.getGuthaben();
|
spieler.setSpeichereEinsatz(einsatz);
|
||||||
spieler.setspeicherErstEinsatz(speicherErstEinsatz);
|
spieler.subtrahiereGuthaben(einsatz);
|
||||||
spieler.subtrahiereGuthaben(wähleEinsatz);
|
view.zeigeNachricht("Neues Guthaben: " + spieler.getGuthaben() + "€");
|
||||||
System.out.println(
|
einsatzAkzeptiert = true;
|
||||||
"Neu Guthaben = " + speicherErstEinsatz + " - " + wähleEinsatz + " = " + spieler.getGuthaben());
|
|
||||||
check = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return check;
|
return einsatzAkzeptiert;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void giveTwoRandomKarts() {
|
public void zweiKartenZiehen() {
|
||||||
// Karten für Spieler 1
|
int punkte1 = zieheZweiKarten(spieler1);
|
||||||
int speicher1 = zieheZweiKarten(spieler1);
|
view.zeigeNachricht(spieler1.getSpielerName() + " hat " + punkte1 + " Punkte.");
|
||||||
System.out.println(spieler1.getName() + " hat " + speicher1 + " Punkte.");
|
|
||||||
|
|
||||||
// Karten für Spieler 2
|
int punkte2 = zieheZweiKarten(spieler2);
|
||||||
int speicher2 = zieheZweiKarten(spieler2);
|
view.zeigeNachricht(spieler2.getSpielerName() + " hat " + punkte2 + " Punkte.");
|
||||||
System.out.println(spieler2.getName() + " hat " + speicher2 + " Punkte.");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private int zieheZweiKarten(BlackJack spieler) {
|
private int zieheZweiKarten(BlackJack spieler) {
|
||||||
int ersteKarte = KartenSpiellist.get(random.nextInt(KartenSpiellist.size()));
|
int ersteKarte = kartendeck.get(random.nextInt(kartendeck.size()));
|
||||||
int zweiteKarte = KartenSpiellist.get(random.nextInt(KartenSpiellist.size()));
|
int zweiteKarte = kartendeck.get(random.nextInt(kartendeck.size()));
|
||||||
int summe = ersteKarte + zweiteKarte;
|
int summe = ersteKarte + zweiteKarte;
|
||||||
spieler.setHandKartenAnzahl(summe);
|
spieler.addPunkte(summe);
|
||||||
return summe;
|
return summe;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkGewinner(BlackJack gewinner1, BlackJack gewinner2) {
|
public void gewinnerPrüfen(BlackJack spieler1, BlackJack spieler2) {
|
||||||
int speicher = 0;
|
if (spieler1.getPunkte() < 22 && (spieler1.getPunkte() > spieler2.getPunkte() || spieler2.getPunkte() > 21)) {
|
||||||
if (gewinner1.getHandKartenAnzahl() < 22)
|
int gewinn = spieler1.getSpeichereEinsatz() * 2;
|
||||||
if (gewinner1.getHandKartenAnzahl() > gewinner2.getHandKartenAnzahl()
|
spieler1.addGuthaben(gewinn);
|
||||||
|| gewinner2.getHandKartenAnzahl() > 21) {
|
view.zeigeNachricht(
|
||||||
speicher = gewinner1.getspeicherErstEinsatz() * 2;// 100
|
spieler1.getSpielerName() + " hat gewonnen! Neues Guthaben: " + spieler1.getGuthaben() + "€");
|
||||||
gewinner1.setspeicherErstEinsatz(speicher);// hier = 100
|
} else if (spieler2.getPunkte() < 22
|
||||||
gewinner1.setGuthaben(gewinner1.getspeicherErstEinsatz());
|
&& (spieler2.getPunkte() > spieler1.getPunkte() || spieler1.getPunkte() > 21)) {
|
||||||
System.out.println(gewinner1.getName() + " hat gewonnen!");
|
int gewinn = spieler2.getSpeichereEinsatz() * 2;
|
||||||
System.out.println(gewinner1.getName() + " neue Guthaben " + gewinner1.getspeicherErstEinsatz());
|
spieler2.addGuthaben(gewinn);
|
||||||
System.out.println(gewinner2.getName() + " neue Guthaben " + gewinner2.getGuthaben());
|
view.zeigeNachricht(
|
||||||
|
spieler2.getSpielerName() + " hat gewonnen! Neues Guthaben: " + spieler2.getGuthaben() + "€");
|
||||||
|
} else {
|
||||||
|
view.zeigeNachricht("Unentschieden!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
public void bestimmeSpieabluaf(BlackJack spieler) {
|
||||||
|
view.zeigeNachricht("------------------------------------------");
|
||||||
|
view.zeigeNachricht("Willkommen im Blackjack-Spiel:");
|
||||||
|
zweiKartenZiehen();
|
||||||
|
spieler.setHitspiele(true);
|
||||||
|
while (spieler.isHitspiele()) {
|
||||||
|
if (spieler.getPunkte() >= 21)
|
||||||
|
spieler.setHitspiele(false);
|
||||||
|
|
||||||
|
if (spieler.isHitspiele()) {
|
||||||
|
view.zeigeNachricht(spieler.getSpielerName() + " : Möchten Sie hit oder stand? Aktuelle Hand: "
|
||||||
|
+ spieler.getPunkte());
|
||||||
|
String auswahl = view.frageObHitOderStand();
|
||||||
|
|
||||||
|
if (auswahl.equalsIgnoreCase("hit")) {
|
||||||
|
eineKarteZiehen(spieler);
|
||||||
|
spielerPunkteAnzeigen(spieler);
|
||||||
|
} else if (auswahl.equalsIgnoreCase("stand")) {
|
||||||
|
spieler.setHitspiele(false);
|
||||||
|
spielerPunkteAnzeigen(spieler);
|
||||||
|
} else {
|
||||||
|
view.zeigeNachricht("Falsche Eingabe: Bitte geben Sie entweder 'hit' oder 'stand' ein.");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (gewinner2.getHandKartenAnzahl() < 22)
|
|
||||||
if (gewinner2.getHandKartenAnzahl() > gewinner1.getHandKartenAnzahl()
|
|
||||||
|| gewinner1.getHandKartenAnzahl() > 21) {
|
|
||||||
speicher = gewinner2.getspeicherErstEinsatz() * 2;// 100
|
|
||||||
gewinner2.setspeicherErstEinsatz(speicher);// hier = 100
|
|
||||||
gewinner2.setGuthaben(gewinner2.getspeicherErstEinsatz());
|
|
||||||
System.out.println(gewinner2.getName() + " hat gewonnen!");
|
|
||||||
System.out.println(gewinner2.getName() + " neue Guthaben " + gewinner2.getspeicherErstEinsatz());
|
|
||||||
System.out.println(gewinner1.getName() + " neue Guthaben " + gewinner1.getGuthaben());
|
|
||||||
|
|
||||||
return;
|
|
||||||
} else
|
|
||||||
System.out.println("Unetschieden!");
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAlleKartenspiele() {
|
public void eineKarteZiehen(BlackJack spieler) {
|
||||||
for (int i = 1; i <= 11; i++)
|
int karte = kartendeck.get(random.nextInt(kartendeck.size()));
|
||||||
KartenSpiellist.add(i);
|
spieler.addPunkte(karte);
|
||||||
|
view.zeigeNachricht(spieler.getSpielerName() + " hat " + spieler.getPunkte() + " Punkte.");
|
||||||
Collections.shuffle(KartenSpiellist);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void printAlleKartenspiele() {
|
public void spielerPunkteAnzeigen(BlackJack spieler) {
|
||||||
for (int i : KartenSpiellist)
|
view.zeigeNachricht(spieler.getSpielerName() + " hat " + spieler.getPunkte() + " Punkte.");
|
||||||
System.out.print(i);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<Integer> getKartenSpiel() {
|
|
||||||
return KartenSpiellist;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void giveRandomKart(BlackJack spieler) {
|
|
||||||
int randomKart = KartenSpiellist.get((random.nextInt(KartenSpiellist.size())));
|
|
||||||
spieler.setHandKartenAnzahl(randomKart);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void printHandAnzahlKartenSpieler1() {
|
|
||||||
System.out.println(spieler1.getName() + " hat " + spieler1.getHandKartenAnzahl() + " Punkte");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void printHandAnzahlKartenSpieler2() {
|
|
||||||
System.out.println(spieler2.getName() + " hat " + spieler2.getHandKartenAnzahl() + " Punkte");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
package Übungen.BlackJack;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
class JunitTest {
|
||||||
|
// (expected,actual (welche wert gibt der Methode zurück?),message fehle)
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void modellKlasse() {
|
||||||
|
// assertEquals(überprüft Parameter miteinander)
|
||||||
|
BlackJack t1 = new BlackJack("obai",20);
|
||||||
|
BlackJack t2 = new BlackJack("omar",21);
|
||||||
|
BlackJackView v1 = new BlackJackView();
|
||||||
|
Spiel spie1 = new Spiel(t1,t2,v1);
|
||||||
|
// assertEquals("obai", t1.getSpielerName(), "Der Name sollte 'obai' sein.");
|
||||||
|
// assertEquals(21,t1.getGuthaben(),"Guthaben habe stimmen nicht");
|
||||||
|
// assertNotNull(t1,"es ist nicht null");
|
||||||
|
|
||||||
|
// teste arrayList zahlen
|
||||||
|
// ArrayList<Integer> kartendeck = new ArrayList<>();
|
||||||
|
// for (int i = 1; i <= 11; i++) {
|
||||||
|
// kartendeck.add(i);
|
||||||
|
// }
|
||||||
|
// assertEquals(kartendeck,spie1.getKartendeck());
|
||||||
|
|
||||||
|
//aktziptieren nur einen Bedinung die entweder wahr oder true ist
|
||||||
|
// assertFalse(spie1.einsatzBestimmen(t1));
|
||||||
|
// assertFalse(spie1.einsatzBestimmen(t1));
|
||||||
|
|
||||||
|
spie1.zweiKartenZiehen();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -5,82 +5,31 @@ import java.util.Scanner;
|
||||||
public class Test {
|
public class Test {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
||||||
BlackJack spieler1 = new BlackJack("Obai", 50);
|
|
||||||
BlackJack spieler2 = new BlackJack("Lena", 100);
|
|
||||||
Scanner scan = new Scanner(System.in);
|
Scanner scan = new Scanner(System.in);
|
||||||
|
|
||||||
|
BlackJack spieler1 = new BlackJack("Obai", 500);
|
||||||
|
BlackJack spieler2 = new BlackJack("abd", 100);
|
||||||
|
BlackJackView spiel1 = new BlackJackView();
|
||||||
|
|
||||||
System.out.println(spieler1);
|
System.out.println(spieler1);
|
||||||
System.out.println(spieler2);
|
System.out.println(spieler2);
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
|
||||||
boolean bestimmespieler;
|
|
||||||
|
|
||||||
Spiel newSpiel = new Spiel(spieler1, spieler2);
|
Spiel newSpiel = new Spiel(spieler1, spieler2,spiel1);
|
||||||
bestimmespieler = newSpiel.bestimmEinsätze(spieler1);
|
boolean bestimmespieler;
|
||||||
if (bestimmespieler)
|
|
||||||
bestimmespieler = newSpiel.bestimmEinsätze(spieler2);
|
bestimmespieler = newSpiel.einsatzBestimmen(spieler1);
|
||||||
|
if (bestimmespieler)
|
||||||
|
bestimmespieler = newSpiel.einsatzBestimmen(spieler2);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (bestimmespieler) {
|
if (bestimmespieler) {
|
||||||
System.out.println("Willkommen im Blackjack-Spiel:");
|
newSpiel.zweiKartenZiehen();
|
||||||
newSpiel.giveTwoRandomKarts();
|
newSpiel.bestimmeSpieabluaf(spieler1);
|
||||||
boolean hitSpieler1 = true;
|
|
||||||
boolean hitSpieler2 = true;
|
|
||||||
|
|
||||||
while (hitSpieler1 || hitSpieler2) {
|
|
||||||
System.out.println("------------------------------------------");
|
|
||||||
|
|
||||||
if (spieler1.getHandKartenAnzahl() > 21) hitSpieler1 = false;
|
|
||||||
|
|
||||||
if (hitSpieler1) {
|
|
||||||
System.out.println(spieler1.getName() + " : Möchten Sie hit oder stand? Aktuelle Hand: " + spieler1.getHandKartenAnzahl());
|
|
||||||
String auswahl = scan.nextLine();
|
|
||||||
|
|
||||||
if (auswahl.equalsIgnoreCase("hit")) {
|
|
||||||
newSpiel.giveRandomKart(spieler1);
|
|
||||||
newSpiel.printHandAnzahlKartenSpieler1();
|
|
||||||
} else if (auswahl.equalsIgnoreCase("stand")) {
|
|
||||||
hitSpieler1 = false;
|
|
||||||
newSpiel.printHandAnzahlKartenSpieler1();
|
|
||||||
} else {
|
|
||||||
System.out.println("Falsche Eingabe: Bitte geben Sie entweder 'hit' oder 'stand' ein.");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (spieler2.getHandKartenAnzahl() > 21) hitSpieler2 = false;
|
|
||||||
|
|
||||||
if (hitSpieler2) {
|
|
||||||
System.out.println(spieler2.getName() + " : Möchten Sie hit oder stand? Aktuelle Hand: " + spieler2.getHandKartenAnzahl());
|
|
||||||
String auswahl = scan.nextLine();
|
|
||||||
|
|
||||||
if (auswahl.equalsIgnoreCase("hit")) {
|
|
||||||
newSpiel.giveRandomKart(spieler2);
|
|
||||||
newSpiel.printHandAnzahlKartenSpieler2();
|
|
||||||
} else if (auswahl.equalsIgnoreCase("stand")) {
|
|
||||||
hitSpieler2 = false;
|
|
||||||
newSpiel.printHandAnzahlKartenSpieler2();
|
|
||||||
} else {
|
|
||||||
System.out.println("Falsche Eingabe: Bitte geben Sie entweder 'hit' oder 'stand' ein.");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!hitSpieler1 && !hitSpieler2) {
|
|
||||||
System.out.println("Das Spiel ist zu Ende");
|
|
||||||
System.out.println(spieler1.getName() + " : " + spieler1.getHandKartenAnzahl() + " Punkte");
|
|
||||||
System.out.println(spieler2.getName() + " : " + spieler2.getHandKartenAnzahl() + " Punkte");
|
|
||||||
newSpiel.checkGewinner(spieler1,spieler2);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
scan.close(); // Scanner schließen
|
spiel1.schließeScanner();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue