feat(blackjack): implement hit action for blackjack game

This commit is contained in:
Jan K9f 2025-03-27 12:28:38 +01:00 committed by Phan Huy Tran
parent ed5960877d
commit bd5539bb42
2 changed files with 15 additions and 1 deletions

View file

@ -39,7 +39,10 @@ public class BlackJackGameController {
return ResponseEntity.notFound().build();
}
// TODO validate that hit is a valid action
blackJackService.hit(game);
return ResponseEntity.ok().build();
}
@PostMapping("/blackjack/start")

View file

@ -5,6 +5,7 @@ import de.szut.casino.user.UserRepository;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Optional;
import java.util.List;
import java.util.Random;
@ -49,6 +50,16 @@ public class BlackJackService {
return game;
}
public BlackJackGameEntity hit(BlackJackGameEntity game) {
CardEntity drawnCard = drawCardFromDeck(game);
ArrayList<CardEntity> playerCards = (ArrayList<CardEntity>) game.getPlayerCards();
playerCards.add(drawnCard);
game.setPlayerCards(playerCards);
blackJackGameRepository.save(game);
return game;
}
private void initializeDeck(BlackJackGameEntity game) {
for (Suit suit : Suit.values()) {
for (Rank rank : Rank.values()) {