From dde68f1784fbf249b721e3590104ae65df7fd061 Mon Sep 17 00:00:00 2001 From: "s.eser" Date: Sat, 23 Mar 2024 20:13:29 +0100 Subject: [PATCH] Sollte jetzt ohne Fehler alles implementiert sein. --- .../informatik/blackjack/BlackJackSpiel.java | 52 +++++++---- .../informatik/blackjack/Hand.java | 2 +- .../informatik/blackjack/Karte.java | 89 ++++++++++++++++--- .../informatik/blackjack/Kartenstapel.java | 3 + 4 files changed, 116 insertions(+), 30 deletions(-) diff --git a/src/de/hs_mannheim/informatik/blackjack/BlackJackSpiel.java b/src/de/hs_mannheim/informatik/blackjack/BlackJackSpiel.java index bfe4195..7d3826d 100644 --- a/src/de/hs_mannheim/informatik/blackjack/BlackJackSpiel.java +++ b/src/de/hs_mannheim/informatik/blackjack/BlackJackSpiel.java @@ -4,38 +4,58 @@ import java.util.Scanner; public class BlackJackSpiel { public BlackJackSpiel(){ - Scanner sc = new Scanner(System.in); + System.out.println("Willkommen zum BlackJack Trainer"); + Kartenstapel ks = new Kartenstapel(); + int s = 1; while(true){ - System.out.println("BlackJack: Möchten Sie ein neues Spiel anfangen? (Ja/Nein)"); - if (sc.next().equalsIgnoreCase("Ja")) { - Kartenstapel ks = new Kartenstapel(); + int t = 1; + String eingabe = ""; + System.out.println("Möchten Sie ein neues Spiel anfangen? (Ja/Nein)"); + Scanner sc = new Scanner(System.in); + if (sc.nextLine().equalsIgnoreCase("Ja")) { + if(s != 1) { + System.out.println("Möchten Sie einen neuen Kartenstapel? (Ja/Nein)"); + if(sc.nextLine().equalsIgnoreCase("Ja")) + ks = new Kartenstapel(); + } + s = 2; Hand spieler = getNeueHand(ks); - + System.out.println("Ihre Hand: "+spieler); if (spieler.isBlackJack()) { - System.out.println("BlackJack: Ihre Hand: "+spieler); - System.out.println("BlackJack: Sie haben einen BlackJack!"); + System.out.println("Sie haben einen BlackJack!"); } else { while(spieler.getPunkte()<22) { + if(t>1) + System.out.println("Ihre Hand: "+spieler); + if(spieler.getPunkte()==21) { + System.out.println("Ihre Endpunktzahl von diesem Spiel beträgt: 21"); + eingabe = "Nein"; + break; + } int punkte = spieler.getPunkte(); - System.out.println("BlackJack: Ihre Hand: "+spieler); - System.out.println("BlackJack: Ihre Hand ergibt zurzeit: " + punkte + " Punkte."); - System.out.println("BlackJack: Möchten Sie noch eine Karte ziehen? (Ja/Nein)"); - if (sc.next().equalsIgnoreCase("Ja")) + System.out.println("Ihre Hand ergibt zurzeit: " + punkte + " Punkte."); + System.out.println("Möchten Sie noch eine Karte ziehen? (Ja/Nein)"); + t++; + eingabe = sc.nextLine(); + if (eingabe.equalsIgnoreCase("Ja")) spieler.addKarte(ks); else { - System.out.println("BlackJack: Ihre Endpunktzahl von diesem Spiel beträgt: " + spieler.getPunkte()); + System.out.println("Ihre Endpunktzahl von diesem Spiel beträgt: " + spieler.getPunkte()); break; } } - System.out.println("BlackJack: Ihre Hand: "+spieler); - System.out.println("BlackJack: Ihre Endpunktzahl von diesem Spiel beträgt: "+spieler.getPunkte()); - System.out.println("BlackJack: Damit haben Sie 21 überschritten und verloren."); + + if(eingabe.equalsIgnoreCase("Ja")) { + System.out.println("Ihre Hand: " + spieler); + System.out.println("Ihre Endpunktzahl von diesem Spiel beträgt: " + spieler.getPunkte()); + System.out.println("Damit haben Sie 21 überschritten und verloren."); + } } } else { - System.out.println("BlackJack: Damit wäre das Spiel beendet."); + System.out.println("Damit wäre das Spiel beendet."); break; } } diff --git a/src/de/hs_mannheim/informatik/blackjack/Hand.java b/src/de/hs_mannheim/informatik/blackjack/Hand.java index f503821..0738c4f 100644 --- a/src/de/hs_mannheim/informatik/blackjack/Hand.java +++ b/src/de/hs_mannheim/informatik/blackjack/Hand.java @@ -23,7 +23,7 @@ public class Hand { public int getPunkte(){ int ergebnis = 0; for(int i = 0; i hand){ + + int counter = 0; + for(int i = 0; i