Javascript 打印变量jscript时的值错误

Javascript 打印变量jscript时的值错误,javascript,html,Javascript,Html,所以我有一个玩家牌的数组,在这种情况下我想计算庄家的点数,游戏是21点,在这个游戏中庄家显示他的第一张牌,另一张牌保持隐藏,所以我想计算庄家在没有第二张牌的情况下的点数 pontosBanca.textContent = 'Pontos : ' + calcCount(cartasBanca[0]); 我可以这样做,而不是下面的一行 pontosBanca.textContent = 'Pontos : ' + calcCount(cartasBanca); 问题在于数字10每当dealea

所以我有一个玩家牌的数组,在这种情况下我想计算庄家的点数,游戏是21点,在这个游戏中庄家显示他的第一张牌,另一张牌保持隐藏,所以我想计算庄家在没有第二张牌的情况下的点数

pontosBanca.textContent = 'Pontos : ' + calcCount(cartasBanca[0]);
我可以这样做,而不是下面的一行

pontosBanca.textContent = 'Pontos : ' + calcCount(cartasBanca);
问题在于数字10每当dealear有一张10分的牌时,点数总是1

这是CalAccount函数{

function calcCount(cartas){

    var sum = 0;
    for(var x = 0;x<cartas.length;x++){
        if(cartas[x] === 'V' || cartas[x] === 'D' || cartas[x] === 'K' || cartas[x] === '10') sum += 10;
        else if(cartas[x] === 'A') sum += 1;
        else{

            sum += parseInt(cartas[x]);

        }

    }
    return sum;
功能计算账户(cartas){
var总和=0;

对于(var x=0;x编辑:作为一个附加,我感觉它与一个事实有关,即“10”需要2个字符。其他卡只有一个字符,如“9”或“K”

如果是10,则不需要构建数组作为calCount()函数的输入。它是['10'的插入参数'10'

我使用了console.log(cartas)和console.log(sum)


请给出一个输入示例。如果我仅使用第一张卡片进行计算,如果我计算时将整张卡片作为参数,下次,请将代码缩进4个空格,以正确格式化代码。我认为您的代码中有问题,但此函数中没有问题。我刚刚测试了您的函数,根据此测试,它工作正常:您有问题吗实际上,列表中有一个
br
元素吗?你能详细说明吗?我以前想过,但6的结果是6,例如,在这种情况下,他只打印第一个数字,我猜,我所做的是创建另一个函数,而不是接收一个数组,它只接收一张卡,这就是解决方案,我仍在尝试找出一个解决方案融合它们的方法
<!DOCTYPE html>
<html>
<head>
    <title>BlackJack by RuiVieira</title>
</head>
<body>
    <div id="zonaBanca">
        <h1>Banca</h1>
        <p id="pontosBanca">Pontos : </p>
    </div>
    <div id="zonaJogoBanca">
        <p id="jogoBanca">-</p>
    </div>
    <div id="zonaJogador">  
        <h1>Jogador</h1>
        <p id="pontosJogador">Pontos : </p>
    </div>
    <div id="zonaJogoJogador">
        <p id="jogoJogador">-</p>   
    </div>
    <div id="zonaAposta">
        <h2>Aposta</h2>
        <button id="subir">+1</button>
        <button id="parar">stop</button>
        <div>
            <input id="valorAposta" type="number" min="0" step="1"/>
        </div>
        <div>
            <button id="botaoAposta">Apostar</button>
        </div>
    </div>
    <script src="scripts/blackj.js"></script>
</body>
</html>
var inputvalorAposta = document.getElementById('valorAposta');
inputvalorAposta.defaultValue = 1;

botaoAposta.onclick = function() {
    var valorAposta = inputvalorAposta.value;   

    if(valorAposta = document.getElementById('valorAposta').value.length !== 0){
        var baralho = ['A','2','3','4','5','6','7','8','9','10','V','D','K', 'A','2','3','4','5','6','7','8','9','10','V','D','K',
            'A','2','3','4','5','6','7','8','9','10','V','D','K', 'A','2','3','4','5','6','7','8','9','10','V','D','K'];
        iniciaJogo(valorAposta, baralho);
    }
    else{
    }
}

function iniciaJogo(valorAposta1, baralho){

    var nrcartasJogador = 0;
    var nrcartasBanca = 0;

    var valorAposta = valorAposta1;

    var bancaCount = 0;
    var jogadorCount = 0;

    var cartasBanca = [];
    var cartasJogador = [];
    var cartasUtilizadas = [];

    var card1;

    do{
        card1 = Math.floor((Math.random() * baralho.length) + 0);
    }while(baralho[card1] === undefined);

    cartasBanca.push(baralho[card1]);
    delete baralho[card1];

    do{
        card1 = Math.floor((Math.random() * baralho.length) + 0);
    }while(baralho[card1] === undefined);

    cartasJogador.push(baralho[card1]);
    delete baralho[card1];

    do{
        card1 = Math.floor((Math.random() * baralho.length) + 0);
    }while(baralho[card1] === undefined);

    cartasBanca.push(baralho[card1]);
    delete baralho[card1];

    do{
        card1 = Math.floor((Math.random() * baralho.length) + 0);
    }while(baralho[card1] === undefined);

    cartasJogador.push(baralho[card1]);
    delete baralho[card1];

    var pontosBanca = document.getElementById('pontosBanca');
    var pontosJogador = document.getElementById('pontosJogador');

    pontosBanca.textContent = 'Pontos : ' + calcCount(cartasBanca[0]);
    pontosJogador.textContent = 'Pontos : ' + calcCount(cartasJogador);



    nrcartasJogador = 2;
    nrcartasBanca = 2;

    var jogoBanca = document.getElementById('jogoBanca');
    var jogoJogador = document.getElementById('jogoJogador');
    jogoBanca.textContent = cartasBanca[0];
    jogoBanca.textContent += ' #'; 
    jogoJogador.textContent = cartasJogador[0] + ' ';
    jogoJogador.textContent += cartasJogador[1]; 

    var butaoSubir = document.getElementById('subir');
    var butaoParar = document.getElementById('parar');

    butaoSubir.onclick = function() {

        var countCard = 0;
        for(var x = 0;x<baralho.length;x++){

            if(baralho[x] === undefined)countCard++;

        }

        if(countCard === 52)return;

        do{

            /*

            baralho tem os mesmo elementos já que o delete substui o valor por undefined, no limite o baralho é composto por 52

            */
            card1 = Math.floor((Math.random() * baralho.length) + 0);
            }while(baralho[card1] === undefined);
            cartasJogador.push(baralho[card1]);
            delete baralho[card1];
            jogoJogador.textContent += ' ' + cartasJogador[nrcartasJogador];
            nrcartasJogador++;
            if(calcCount(cartasJogador) <= 21)pontosJogador.textContent = 'Pontos : ' + calcCount(cartasJogador);
            else(pontosJogador.textContent = 'Pontos : ' + calcCount(cartasJogador) + ' Rebentou');
    }
    butaoParar.onclick = function() {

        jogoBanca.textContent = cartasBanca[0] + ' ' + cartasBanca[1];
        pontosBanca.textContent = 'Pontos : ' + calcCount(cartasBanca);

    }

}

/*

CALCULO DE PONTOS
*/
function calcCount(cartas){

    var sum = 0;
    for(var x = 0;x<cartas.length;x++){
        if(cartas[x] === 'V' || cartas[x] === 'D' || cartas[x] === 'K') sum += 10;
        else if(cartas[x] === 'A') sum += 1;
        else{

            sum += parseInt(cartas[x]);

        }

    }
    return sum;


}

/**/
cartas 6
sum 6
cartas ["6", "2"]
sum 8

cartas 10 //its a string not an array of strings
sum 1
cartas ["A", "4"]
sum 5