From 84862cf3ba2889a82bcbc0d8c8d2bc070319c173 Mon Sep 17 00:00:00 2001 From: 3013050 <3013050@stud.hs-mannheim.de> Date: Tue, 26 Mar 2024 11:17:04 +0100 Subject: [PATCH] Added blackbox Changed that the main methode only uses methods from the BlackJackSpiel. --- src/BlackJackSpiel.java | 28 +++++++++++++++++++++++----- src/Karte.java | 2 +- src/Main.java | 19 ++++++++++++------- 3 files changed, 36 insertions(+), 13 deletions(-) diff --git a/src/BlackJackSpiel.java b/src/BlackJackSpiel.java index fb8f74d..373ae7e 100644 --- a/src/BlackJackSpiel.java +++ b/src/BlackJackSpiel.java @@ -1,18 +1,36 @@ public class BlackJackSpiel { Kartenstapel ks; - Hand hand; + private Hand hand; public BlackJackSpiel(){ this.ks = new Kartenstapel(); this.hand = new Hand(this.ks); + getNeueHand(); } - Hand getNeueHand(){ + public boolean isHandBlackJack(){ + return hand.isBlackJack(); + } + + public boolean isHandOvershot(){ + return hand.isOvershot(); + } + + + void getNeueHand(){ this.hand.drawCard(2); - return this.hand; + // return this.hand; } - Hand turn(){ + void turn(){ this.hand.drawCard(1); - return this.hand; + // return this.hand; + } + + String handContent(){ + return hand.toString(); + } + + int handValue(){ + return hand.getPunkte(); } } diff --git a/src/Karte.java b/src/Karte.java index 9b66d83..01ee188 100644 --- a/src/Karte.java +++ b/src/Karte.java @@ -6,7 +6,7 @@ public class Karte { this.farbe = farbe; this.wert = wert; } - + public int getWert() { if ((this.wert.equals("Bube")) || (this.wert.equals("Dame")) || (this.wert.equals("König"))){ return 10; diff --git a/src/Main.java b/src/Main.java index f18e634..72c29d3 100644 --- a/src/Main.java +++ b/src/Main.java @@ -10,20 +10,22 @@ public class Main { private static void gameLoop(){ BlackJackSpiel game = new BlackJackSpiel(); - Hand hand = game.getNeueHand(); + // Hand hand = game.getNeueHand(); while (true){ - System.out.printf("%s Ihr Wert beträgt %d \n", hand, hand.getPunkte()); + System.out.printf("%s Ihr Wert beträgt %d \n", game.handContent(), game.handValue()); String nextRoundPrompt = ""; - if (hand.isBlackJack()){ + // if (hand.isBlackJack()){ + if (game.isHandBlackJack()){ nextRoundPrompt = "Glückwunsch, sie haben einen BlackJack und damit gewonnen!"; } - if (hand.isOvershot()){ - nextRoundPrompt = String.format("Leider verloren, der Wert der Hand ist mit %d höher als 21.", hand.getPunkte()); + // if (hand.isOvershot()){ + if (game.isHandOvershot()){ + nextRoundPrompt = String.format("Leider verloren, der Wert der Hand ist mit %d höher als 21.", game.handValue()); } if (nextRoundPrompt.isEmpty()) { @@ -32,9 +34,13 @@ public class Main { boolean newCardDecision = yesNoDecider(newCardPrompt); if (newCardDecision) { - hand = game.turn(); + // hand = game.turn(); + game.turn(); continue; } + else { + System.out.printf("Der finale Wert der Hand beträgt %d. \n", game.handValue()); + } } //? Next round decider @@ -47,7 +53,6 @@ public class Main { break; } game = new BlackJackSpiel(); - hand = game.getNeueHand(); } }