Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.
Закрыт 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]
Для переменных, область видимости у которых должна быть в рамках одного {} стоит использовать let
вместо var
Нужно чтобы один класс был в одной строке, второй класс во второй и т дПричем классы могут быть разные, и их может быть много
Задаю данный вопрос, так как пишут, что [] -не является псевдоложью,но ведь:
Как с помощью js сделать чтобы блок с классом item отображался только если в блоке с классом title было слово "Слово"? (по умолчанию стоит dispay:none,...