bug hunt anfang

main
Luc Vonnemann 2024-03-25 20:53:47 +01:00
parent ebea258044
commit e92aa10094
4 changed files with 21 additions and 4 deletions

View File

@ -16,4 +16,5 @@ public class BlackJack {
public String toString() { public String toString() {
return hand.toString(); return hand.toString();
} }
} }

View File

@ -39,6 +39,10 @@ public class CardStack {
public Card draw_card() { public Card draw_card() {
if (card_draw_counter > 52) {
throw new RuntimeException("Keine Karten mehr");
}
Card result = shuffled_cards[card_draw_counter]; Card result = shuffled_cards[card_draw_counter];
card_draw_counter++; card_draw_counter++;
return result; return result;

View File

@ -5,6 +5,7 @@ public class Hand {
CardStack cs; CardStack cs;
public Hand(CardStack cs) { public Hand(CardStack cs) {
cs.card_draw_counter = 0;
this.cs = cs; this.cs = cs;
current_hand[0] = cs.draw_card(); current_hand[0] = cs.draw_card();
current_hand[1] = cs.draw_card(); current_hand[1] = cs.draw_card();
@ -26,7 +27,8 @@ public class Hand {
public int get_points() { public int get_points() {
int sum = 0; int sum = 0;
for (int i = 0; i < cs.card_draw_counter; i++) {
for (int i = 0; i < (cs.card_draw_counter); i++) {
Card card = current_hand[i]; Card card = current_hand[i];
sum += card.get_points(card); sum += card.get_points(card);
} }
@ -37,4 +39,8 @@ public class Hand {
public boolean is_black_jack() { public boolean is_black_jack() {
return get_points() == 21; return get_points() == 21;
} }
public void draw_card() {
current_hand[cs.card_draw_counter] = cs.draw_card();
}
} }

View File

@ -18,21 +18,27 @@ public class TUI {
while (true) { while (true) {
System.out.println("Weitere Karte Ziehen (1)"); System.out.println("Weitere Karte Ziehen (1)");
System.out.println("Karten so belassen (2)"); System.out.println("Karten so belassen (2)");
System.out.println("Neue Hand nehmen (3)");
String answer = sc.nextLine(); String answer = sc.nextLine();
if (answer.equals("2")) { if (answer.equals("2")) {
break; break;
} else if (!(answer.equals("3"))) {
bs.hand.draw_card();
} }
bs.cs.draw_card(); bs.get_new_hand();
if (bs.hand.get_points() == 21) { if (bs.hand.get_points() == 21) {
System.out.println("Gut gemacht"); System.out.println("Gut gemacht Du hast 21 Punkte mit");
System.out.println(bs);
break; break;
} }
System.out.println(bs);
} }
System.out.println(bs);
} }
} }