diff --git a/backend/requests/blackjack.http b/backend/requests/blackjack.http index fcff731..1ac2def 100644 --- a/backend/requests/blackjack.http +++ b/backend/requests/blackjack.http @@ -7,6 +7,6 @@ Content-Type: application/json } ### -POST http://localhost:8080/blackjack/103/hit +POST http://localhost:8080/blackjack/202/hit Authorization: Bearer {{token}} diff --git a/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java b/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java index 1319c10..58505eb 100644 --- a/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java +++ b/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java @@ -40,6 +40,12 @@ public class BlackJackGameController { return ResponseEntity.notFound().build(); } + if (game.getState() != BlackJackState.IN_PROGRESS) { + Map errorResponse = new HashMap<>(); + errorResponse.put("error", "Invalid state"); + return ResponseEntity.badRequest().body(errorResponse); + } + return ResponseEntity.ok(blackJackService.hit(game)); } diff --git a/backend/src/main/java/de/szut/casino/blackjack/BlackJackService.java b/backend/src/main/java/de/szut/casino/blackjack/BlackJackService.java index 05cf93c..df1a459 100644 --- a/backend/src/main/java/de/szut/casino/blackjack/BlackJackService.java +++ b/backend/src/main/java/de/szut/casino/blackjack/BlackJackService.java @@ -89,12 +89,14 @@ public class BlackJackService { if (playerHandValue == 21) { return BlackJackState.PLAYER_WON; + } else if (playerHandValue > 21) { + return BlackJackState.PLAYER_LOST; } return BlackJackState.IN_PROGRESS; } - public int calculateHandValue(List hand) { + private int calculateHandValue(List hand) { int sum = 0; int aceCount = 0; for (CardEntity card : hand) { diff --git a/backend/src/main/java/de/szut/casino/blackjack/BlackJackState.java b/backend/src/main/java/de/szut/casino/blackjack/BlackJackState.java index 3c8efa0..2ba802c 100644 --- a/backend/src/main/java/de/szut/casino/blackjack/BlackJackState.java +++ b/backend/src/main/java/de/szut/casino/blackjack/BlackJackState.java @@ -2,5 +2,6 @@ package de.szut.casino.blackjack; public enum BlackJackState { PLAYER_WON, - IN_PROGRESS + IN_PROGRESS, + PLAYER_LOST, }