Saya sedang membangunkan permainan blackjack. Setakat ini, semuanya berfungsi dengan baik kecuali butiran kecil ini. Pada asasnya, butang permulaan permainan hanya boleh dilihat sebelum permainan dan selepas permainan. Saya tidak mempunyai masalah untuk menetapkannya kepada tersembunyi, tetapi apabila saya menamatkan permainan ia tidak berfungsi.
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); }
Saya juga cuba menukar pesanan untuk melihat sama ada ia membuat sebarang perbezaan, tetapi semua yang berlaku ialah:
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 = "运气不好!你已经离开游戏了!"; }
Semua dalam pernyataan if berlaku kecuali bahagian keterlihatan.
Jika anda memerlukan lebih banyak konteks, sila rujuk pautan kod: https://github.com/pedrosilva410/blackjack-game
Saya telah melihat keseluruhan kod pada Github anda dan masalahnya ialah fungsi
startGame
anda hanya dipanggil apabila permainan mula-mula bermula (yang masuk akal, jelas sekali). Ia tidak melakukan apa-apa semasa permainan sedang berlangsung.Arahan anda tentang membuat butang "Mulakan Permainan" kelihatan adalah betul, anda hanya meletakkannya di tempat yang salah. Tambahkannya pada fungsi
drawCard
anda juga.