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
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:
parent
1dfdedee91
commit
1931a02369
1 changed files with 22 additions and 22 deletions
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue