Menetapkan semula keterlihatan "startButtonGame" adalah satu-satunya masalah;
P粉614840363
P粉614840363 2023-09-19 22:02:31
0
1
745

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

P粉614840363
P粉614840363

membalas semua(1)
P粉463840170

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.

function drawCard() {

    if (hasBlackJack == false || isAlive == true) {
        let newCard = randomCard();
        let newTableCard = randomCard();
        sum = sum + newCard

        if (sum < 21) {
            message = "你想要抽一张新牌吗?";
        } else if (sum === 21) {
            message = "你得到了21点!";
            newCardButton.style.visibility = "hidden";
            startGameButton.style.visibility = "visible";
            hasBlackJack = true;
        } else {
            isAlive = false;
            message = "运气不好!你已经出局了!";
            startGameButton.style.visibility = "visible";
            newCardButton.style.visibility = "hidden"
        }

        messageEl.textContent = message;
        cardsEl.textContent = cardsEl.textContent + " " + newCard;
        tableCardsEl.textContent = tableCardsEl.textContent + " " + newTableCard;
        sumEl.textContent = "总和: " + sum;
        console.log("黑杰克: " + hasBlackJack);
        console.log("还活着: " + isAlive);
    }
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan