Ich entwickle ein Blackjack-Spiel. Bisher funktioniert bis auf dieses kleine Detail alles einwandfrei. Grundsätzlich sollte der Spielstart-Button nur vor und nach dem Spiel sichtbar sein. Ich habe kein Problem damit, es auf „Versteckt“ zu stellen, aber wenn ich ein Spiel beende, funktioniert es nicht.
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); }
Ich habe sogar versucht, die Reihenfolge zu vertauschen, um zu sehen, ob es einen Unterschied macht, aber es passiert nur:
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 = "运气不好!你已经离开游戏了!"; }
Alles in der if-Anweisung passiert, außer dem Sichtbarkeitsteil.
Wenn Sie mehr Kontext benötigen, lesen Sie bitte den Code-Link: https://github.com/pedrosilva410/blackjack-game
我已经在你的Github上查看了整个代码,问题在于你的
startGame
函数只在游戏刚开始时调用(这是有道理的,显然)。在游戏进行中它什么也不做。你关于使“开始游戏”按钮可见的指示是正确的,只是把它们放错了位置。也把它们添加到你的
drawCard
函数中。