feat(blackjack): implement hit action for blackjack game
This commit is contained in:
parent
ed5960877d
commit
bd5539bb42
2 changed files with 15 additions and 1 deletions
|
@ -39,7 +39,10 @@ public class BlackJackGameController {
|
||||||
return ResponseEntity.notFound().build();
|
return ResponseEntity.notFound().build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO validate that hit is a valid action
|
||||||
|
|
||||||
|
blackJackService.hit(game);
|
||||||
|
return ResponseEntity.ok().build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/blackjack/start")
|
@PostMapping("/blackjack/start")
|
||||||
|
|
|
@ -5,6 +5,7 @@ import de.szut.casino.user.UserRepository;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
@ -49,6 +50,16 @@ public class BlackJackService {
|
||||||
return game;
|
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) {
|
private void initializeDeck(BlackJackGameEntity game) {
|
||||||
for (Suit suit : Suit.values()) {
|
for (Suit suit : Suit.values()) {
|
||||||
for (Rank rank : Rank.values()) {
|
for (Rank rank : Rank.values()) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue