Je développe un jeu de blackjack. Jusqu'à présent, tout fonctionne bien sauf ce petit détail. Fondamentalement, le bouton de démarrage du jeu ne doit être visible qu’avant et après le jeu. Je n'ai aucun problème à le mettre en masqué, mais lorsque je termine un jeu, cela ne fonctionne pas.
function startGame() { startGameButton.style.visibility = "hidden"; if (!player.playerName) { player.playerName = prompt("你叫什么名字?") player.chips = 100 playerEl.textContent = "玩家:" + player.playerName; } if (cards.length < 2) { let bet = prompt('你想下注多少(筹码:' + player.chips + ')') player.chips = player.chips - bet; chipsEl.textContent = "筹码:" + player.chips; } let firstCard = randomCard(); let secondCard = randomCard(); cards = [firstCard, secondCard]; let tableFirstCard = randomCard(); let tableSecondCard = randomCard(); tableCards = [tableFirstCard, tableSecondCard]; let message = ""; let hasBlackJack = false; let isAlive = true; sum = firstCard + secondCard; newCardButton.style.visibility = "visible"; startGameButton.textContent = "新游戏"; if (sum < 21) { message = "你想要抽一张新牌吗?"; } else if (sum === 21) { message = "你得到了21点!"; newCardButton.style.visibility = "hidden"; startGameButton.style.visibility = "visible"; player.chips = player.chips + bet * 2 hasBlackJack = true; } else { startGameButton.style.visibility = "visible"; isAlive = false; message = "运气不好!你已经离开游戏了!"; } messageEl.textContent = message; cardsEl.textContent = "牌:" + firstCard + " " + secondCard; tableCardsEl.textContent = "桌面牌:" + tableSecondCard + " " + tableSecondCard; sumEl.textContent = "总和:" + sum; console.log("21点:" + hasBlackJack); console.log("存活:" + isAlive); }
J'ai même essayé d'échanger la commande pour voir si cela faisait une différence, mais tout ce qui se passe c'est :
if (sum < 21) { message = "你想要抽一张新牌吗?"; } else if (sum === 21) { message = "你得到了21点!"; newCardButton.style.visibility = "hidden"; startGameButton.style.visibility = "visible"; player.chips = player.chips + bet * 2 hasBlackJack = true; } else { startGameButton.style.visibility = "visible"; isAlive = false; message = "运气不好!你已经离开游戏了!"; }
Tout ce qui se passe dans l'instruction if se produit, à l'exception de la partie visibilité.
Si vous avez besoin de plus de contexte, veuillez vous référer au lien du code : https://github.com/pedrosilva410/blackjack-game
J'ai regardé l'intégralité du code sur votre Github et le problème est que votre fonction
startGame
n'est appelée qu'au premier démarrage du jeu (ce qui est logique, évidemment). Cela ne fait rien pendant que le jeu est en cours.Vos instructions pour rendre visible le bouton « Démarrer le jeu » sont correctes, vous les avez simplement placées au mauvais endroit. Ajoutez-les également à votre fonction
drawCard
.