some variable should be declared as constant to make the code more readable and maintainable.
require(msg.value >= 1 ether, "only 1 ether allowed");
...
payable(player).transfer(2 ether);
emit FeeWithdrawn(player, 2 ether);
...
if (dealerHand > 21) {
...
require(handBefore <= 21, "User is bust");
...
if (handAfter > 21) {
...
if (dealerHand > 21) {
...
for (uint256 i = 1; i <= 52; i++) {
availableCards[player].push(i);
}
...
uint256 cardValue = playersDeck[player].playersCards[i] % 13;
...
if (cardValue == 0 || cardValue >= 10) {
playerTotal += 10;
} else {
playerTotal += cardValue;
}
uint256 private constant BET = 1 ether;
uint256 private constant PAYOUT = 2 ether;
uint256 private constant BLACKJACK = 21;
uint256 private constant DECK_SIZE = 52;
uint256 private constant FACE_CARD = 10;
uint256 private constant KING = 13;
...
require(msg.value == BET, "only 1 ether allowed");
...
payable(player).transfer(PAYOUT);
emit FeeWithdrawn(player, PAYOUT);
...
if (dealerHand > BLACKJACK)
...
require(handBefore <= BLACKJACK, "User is bust");
...
if (handAfter > BLACKJACK) {
...
if (dealerHand > BLACKJACK) {
...
for (uint256 i = 1; i <= DECK_SIZE; i++) {
availableCards[player].push(i);
}
...
uint256 cardValue = playersDeck[player].playersCards[i] % KING;
...
if (cardValue == 0 || cardValue >= FACE_CARD) {
playerTotal += FACE_CARD;
} else {
playerTotal += cardValue;
}