style: format code
All checks were successful
CI / Get Changed Files (pull_request) Successful in 9s
CI / eslint (pull_request) Has been skipped
CI / Docker frontend validation (pull_request) Has been skipped
CI / oxlint (pull_request) Has been skipped
CI / prettier (pull_request) Has been skipped
CI / test-build (pull_request) Has been skipped
CI / Checkstyle Main (pull_request) Successful in 1m6s
CI / Docker backend validation (pull_request) Successful in 1m3s

This commit is contained in:
Phan Huy Tran 2025-05-21 09:50:00 +02:00
commit 1931a02369

View file

@ -29,10 +29,10 @@ public class BlackJackService {
BlackJackGameEntity game = new BlackJackGameEntity(); BlackJackGameEntity game = new BlackJackGameEntity();
game.setUser(user); game.setUser(user);
game.setBet(betAmount); game.setBet(betAmount);
initializeDeck(game); initializeDeck(game);
dealInitialCards(game); dealInitialCards(game);
game.setState(getState(game)); game.setState(getState(game));
deductBetFromBalance(user, betAmount); deductBetFromBalance(user, betAmount);
@ -88,9 +88,9 @@ public class BlackJackService {
@Transactional @Transactional
public BlackJackGameEntity split(BlackJackGameEntity game) { public BlackJackGameEntity split(BlackJackGameEntity game) {
if (game.getState() != BlackJackState.IN_PROGRESS || if (game.getState() != BlackJackState.IN_PROGRESS ||
game.getPlayerCards().size() != 2 || game.getPlayerCards().size() != 2 ||
game.isSplit() || game.isSplit() ||
!game.getPlayerCards().get(0).getRank().equals(game.getPlayerCards().get(1).getRank())) { !game.getPlayerCards().get(0).getRank().equals(game.getPlayerCards().get(1).getRank())) {
return game; return game;
} }
@ -127,48 +127,48 @@ public class BlackJackService {
private BlackJackGameEntity refreshGameState(BlackJackGameEntity game) { private BlackJackGameEntity refreshGameState(BlackJackGameEntity game) {
return blackJackGameRepository.findById(game.getId()).orElse(game); return blackJackGameRepository.findById(game.getId()).orElse(game);
} }
private UserEntity getUserWithFreshData(UserEntity user) { private UserEntity getUserWithFreshData(UserEntity user) {
return userRepository.findById(user.getId()).orElse(user); return userRepository.findById(user.getId()).orElse(user);
} }
private void dealInitialCards(BlackJackGameEntity game) { private void dealInitialCards(BlackJackGameEntity game) {
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
dealCardToPlayer(game); dealCardToPlayer(game);
} }
dealCardToDealer(game); dealCardToDealer(game);
} }
private void dealCardToPlayer(BlackJackGameEntity game) { private void dealCardToPlayer(BlackJackGameEntity game) {
CardEntity card = drawCardFromDeck(game); CardEntity card = drawCardFromDeck(game);
card.setCardType(CardType.PLAYER); card.setCardType(CardType.PLAYER);
game.getPlayerCards().add(card); game.getPlayerCards().add(card);
} }
private void dealCardToDealer(BlackJackGameEntity game) { private void dealCardToDealer(BlackJackGameEntity game) {
CardEntity card = drawCardFromDeck(game); CardEntity card = drawCardFromDeck(game);
card.setCardType(CardType.DEALER); card.setCardType(CardType.DEALER);
game.getDealerCards().add(card); game.getDealerCards().add(card);
} }
private void dealCardsToDealerUntilMinimumScore(BlackJackGameEntity game) { private void dealCardsToDealerUntilMinimumScore(BlackJackGameEntity game) {
while (calculateHandValue(game.getDealerCards()) < 17) { while (calculateHandValue(game.getDealerCards()) < 17) {
dealCardToDealer(game); dealCardToDealer(game);
} }
} }
private void dealCardToSplitHand(BlackJackGameEntity game) { private void dealCardToSplitHand(BlackJackGameEntity game) {
CardEntity card = drawCardFromDeck(game); CardEntity card = drawCardFromDeck(game);
card.setCardType(CardType.PLAYER_SPLIT); card.setCardType(CardType.PLAYER_SPLIT);
game.getPlayerSplitCards().add(card); game.getPlayerSplitCards().add(card);
} }
private void updateGameStateAndBalance(BlackJackGameEntity game) { private void updateGameStateAndBalance(BlackJackGameEntity game) {
if (game.isSplit()) { if (game.isSplit()) {
int mainHandValue = calculateHandValue(game.getPlayerCards()); int mainHandValue = calculateHandValue(game.getPlayerCards());
int splitHandValue = calculateHandValue(game.getPlayerSplitCards()); int splitHandValue = calculateHandValue(game.getPlayerSplitCards());
if (mainHandValue > 21 && splitHandValue > 21) { if (mainHandValue > 21 && splitHandValue > 21) {
game.setState(BlackJackState.PLAYER_LOST); game.setState(BlackJackState.PLAYER_LOST);
updateUserBalance(game, false); updateUserBalance(game, false);
@ -179,7 +179,7 @@ public class BlackJackService {
} }
} else { } else {
game.setState(getState(game)); game.setState(getState(game));
if (game.getState() == BlackJackState.PLAYER_WON) { if (game.getState() == BlackJackState.PLAYER_WON) {
updateUserBalance(game, true); updateUserBalance(game, true);
} else if (game.getState() == BlackJackState.PLAYER_LOST) { } else if (game.getState() == BlackJackState.PLAYER_LOST) {
@ -187,7 +187,7 @@ public class BlackJackService {
} }
} }
} }
private void determineWinnerAndUpdateBalance(BlackJackGameEntity game) { private void determineWinnerAndUpdateBalance(BlackJackGameEntity game) {
int playerValue = calculateHandValue(game.getPlayerCards()); int playerValue = calculateHandValue(game.getPlayerCards());
int dealerValue = calculateHandValue(game.getDealerCards()); int dealerValue = calculateHandValue(game.getDealerCards());
@ -203,7 +203,7 @@ public class BlackJackService {
updateUserBalance(game, false); updateUserBalance(game, false);
} }
} }
private void deductBetFromBalance(UserEntity user, BigDecimal betAmount) { private void deductBetFromBalance(UserEntity user, BigDecimal betAmount) {
user.setBalance(user.getBalance().subtract(betAmount)); user.setBalance(user.getBalance().subtract(betAmount));
userRepository.save(user); userRepository.save(user);
@ -214,21 +214,21 @@ public class BlackJackService {
UserEntity user = getUserWithFreshData(game.getUser()); UserEntity user = getUserWithFreshData(game.getUser());
BigDecimal totalBet = game.getBet(); BigDecimal totalBet = game.getBet();
BigDecimal balance = user.getBalance(); BigDecimal balance = user.getBalance();
if (game.isSplit()) { if (game.isSplit()) {
totalBet = totalBet.add(game.getSplitBet()); totalBet = totalBet.add(game.getSplitBet());
if (isWin) { if (isWin) {
int mainHandValue = calculateHandValue(game.getPlayerCards()); int mainHandValue = calculateHandValue(game.getPlayerCards());
int splitHandValue = calculateHandValue(game.getPlayerSplitCards()); int splitHandValue = calculateHandValue(game.getPlayerSplitCards());
int dealerValue = calculateHandValue(game.getDealerCards()); int dealerValue = calculateHandValue(game.getDealerCards());
if (mainHandValue <= 21 && (dealerValue > 21 || mainHandValue > dealerValue)) { if (mainHandValue <= 21 && (dealerValue > 21 || mainHandValue > dealerValue)) {
balance = balance.add(game.getBet().multiply(BigDecimal.valueOf(2))); balance = balance.add(game.getBet().multiply(BigDecimal.valueOf(2)));
} else if (mainHandValue == dealerValue) { } else if (mainHandValue == dealerValue) {
balance = balance.add(game.getBet()); balance = balance.add(game.getBet());
} }
if (splitHandValue <= 21 && (dealerValue > 21 || splitHandValue > dealerValue)) { if (splitHandValue <= 21 && (dealerValue > 21 || splitHandValue > dealerValue)) {
balance = balance.add(game.getSplitBet().multiply(BigDecimal.valueOf(2))); balance = balance.add(game.getSplitBet().multiply(BigDecimal.valueOf(2)));
} else if (splitHandValue == dealerValue) { } else if (splitHandValue == dealerValue) {
@ -244,7 +244,7 @@ public class BlackJackService {
balance = balance.add(totalBet); balance = balance.add(totalBet);
} }
} }
user.setBalance(balance); user.setBalance(balance);
userRepository.save(user); userRepository.save(user);
} }