Игра “Black Jack” на Javascript [закрыт]

135
27 апреля 2021, 14:50
Закрыт. Этот вопрос необходимо уточнить или дополнить подробностями. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.

Закрыт 1 год назад.

Улучшить вопрос

Я начинающий программист Javascript. Прохожу бесплатный видеокурс на сайте geekbrains.ru. У меня при написании игры "Black Jack" sublime text отображает предупреждение, мол, зачем заново объявлять переменные i и card во второй части кода, когда считаем тузы, если они уже объявлены? А в видеоуроке они заново объявлены.

Вот мой код:

 [![<!DOCTYPE html>
<html>
<head>
 <meta charset = "utf-8">
</head>
<body>
<script type="text/javascript">
// функция для получения числа случайным образом
    function getRandomInt(min,max){
   return Math.floor(Math.random()*(max-min+1))+min;    
}
// функция для получения карты случайным образом
function getCard(){
var cards = \["6","7","8","9","10","J","Q","K","A"\];
return cards\[getRandomInt(0,card.length-1)\];
}
// функция для подсчёта суммы карт на руках
function getSum(hand){
var sum = 0;
// сначала считаем все карты,кроме тузов
for (var i=0;i<hand.length;i++){
var card = hand\[i\];
if(card!="A"){
    if (card =="J" || card == "Q" || card == "K"){
sum = sum +10;
   } else {
sum = sum + parseInt(card);
}
}   
}
// туз считается равной 1,если текущая сумма больше 10,иначе равной 11  
for( var i=0;i<hand.length;i++ ){
    var card = hand\[i\];
    if (card == "A"){
        if (sum>10){
    sum = sum + 1;
    } else {
    sum = sum +11;
}
}   
}   
return sum;
}
// функция для подсчёта текущего состояния очков дилера и игрока
function getstatus(){
    return "dealer: " + dealer.join('') + "iqrok: " + player.join("");
}
// описываем набор карт дилера и игрока
var dealer = \[getcard()\];
var player = \[getCard(),getCard()\];

// проверка на Блек Джек игрока
if (getSum(player)==21){
    alert("Black Jack!!!,Pozdravlaem!!");
    }
    else {
var answer = "";
do {
     answer = prompt(getstatus() + "Хотите ли вы играть дальше? 1 - да,иначе - нет");
// сдаём карту игроку
     if(answer == "1"){

     player.push(getcard());
// проверяем нет ли перебора или блек джека
     if(getSum(player)>21){
     alert("Perebor" + getstatus());
     break;
     }
     else if (getSum(player)==21){
    alert("Pozdravlaem,Black Jack!");
    break;
     }
    }
// игрок закончил брать карты
    else{

        // теперь карты берет дилер
        while(getsum(dealer)<17){
            dealer.push(getCard());
        }
            if (getSum(dealer)>21){
                alert("Perebor" + getstatus());
            } else if(getSum(dealer)==21){
                alert("Black Jack" + getstatus());
            } else if (getsum(player)==getsum(dealer)){
                alert("Nichya" + getstatus());
            }
            else if(getsum(dealer)>getsum(player)){
                alert("Viiqrish" + getstatus());
            } else{
                alert("Proiqrish" + getstatus());
            }
        }
     alert(getstatus());
     }while(answer==1);
    }
alert("Karti dealera: " + dealer.join('') + "Karti iqroka: " + player.join(''));
alert("Tekuchaya summa kart: " + getSum(player));
</script>
</body>
</html>][1]][1]
Answer 1

Для переменных, область видимости у которых должна быть в рамках одного {} стоит использовать let вместо var

READ ALSO
Блоки с разными классами с новой строки

Блоки с разными классами с новой строки

Нужно чтобы один класс был в одной строке, второй класс во второй и т дПричем классы могут быть разные, и их может быть много

89
Массив в JS является псевдоложью? [дубликат]

Массив в JS является псевдоложью? [дубликат]

Задаю данный вопрос, так как пишут, что [] -не является псевдоложью,но ведь:

120
JS - показывать div в зависимости от содержания другого div

JS - показывать div в зависимости от содержания другого div

Как с помощью js сделать чтобы блок с классом item отображался только если в блоке с классом title было слово "Слово"? (по умолчанию стоит dispay:none,...

157