Ошибка в коде JavaScript
всем здравствуйте я написал код загрузил его нажал ран и выдаёт ошибку исправляю но всё равно подскажите где она
// Evaluate
let payout = 0;
// three of a kind
if(result[0]===result[1] && result[1]===result[2]){
// special for 7
payout = (result[0]==='7️⃣') ? bet*10 : bet*5;
slotMsg.textContent = Три ${result[0]}! Вы выиграли ${payout} фишек.;
} else if(result[0]===result[1] || result[1]===result[2] || result[0]===result[2]){
payout = bet*1.5; // pair
payout = Math.floor(payout);
slotMsg.textContent = Пара! Вы выиграли ${payout} фишек.;
} else {
slotMsg.textContent = 'Увы, проигрыш.';
}
if(payout>0){ chips += payout; save(); logВыигрыш в слотах: ${payout}); } else { logПроигрыш в слотах: ${bet}); }
}
}
document.getElementById('spin').onclick = spinReels;
// CARDS (simplified Blackjack)
const deckFactory = ()=>{
const ranks = ['A','2','3','4','5','6','7','8','9','10','J','Q','K'];
const suits = ['♣','♦','♥','♠'];
let deck = [];
suits.forEach(s=>ranks.forEach(r=>deck.push(r+s)));
// shuffle
for(let i=deck.length-1;i>0;i--){
const j=Math.floor(Math.random()*(i+1));
[deck[i],deck[j]]=[deck[j],deck[i]];
}
return deck;
};
let deck = [], playerHand = [], dealerHand = [], roundActive = false;
function cardValue(card){
const r = card.slice(0, -1);
if(r==='A') return 11;
if(['J','Q','K'].includes(r)) return 10;
return Number(r);
}
function handValue(hand){
let sum = 0, aces = 0;
hand.forEach(c=>{ const v=cardValue(c); sum+=v; if(c.slice(0,-1)==='A') aces++; });
while(sum>21 && aces>0){ sum-=10; aces--; }
return sum;
}
function resetRound(){
deck = deckFactory();
playerHand=[]; dealerHand=[]; roundActive=false;
playerCardsEl.innerHTML=''; dealerCardsEl.innerHTML=''; playerValEl.textContent='0'; dealerValEl.textContent='0';
document.getElementById('hit').classList.add('hidden');
document.getElementById('stand').classList.add('hidden');
cardMsg.textContent='';
}
function deal(){
const bet = Math.floor(Math.max(1, Number(cardBet.value)));
if(bet>chips){ cardMsg.textContent='Недостаточно фишек.'; return; }
chips -= bet; save();
logСтавка в карты: ${bet});
deck = deckFactory();
playerHand = [deck.pop(), deck.pop()];
dealerHand = [deck.pop(), deck.pop()];
roundActive = true;
renderHands(true);
// check blackjack
const pv = handValue(playerHand), dv = handValue(dealerHand);
if(pv===21){
// player blackjack pays 3:2
const payout = Math.floor(bet*2.5);
chips += payout; save();
cardMsg.textContent = Блэкджек! Вы выиграли ${payout} фишек.;
logБлэкджек: выигрыш ${payout});
roundActive=false;
document.getElementById('hit').classList.add('hidden');
document.getElementById('stand').classList.add('hidden');
} else {
document.getElementById('hit').classList.remove('hidden');
document.getElementById('stand').classList.remove('hidden');
cardMsg.textContent = 'Игра начата. Хит или Стоп?';
// store current bet for resolution
document.getElementById('deal').dataset.currentBet = bet;
}
}
function renderHands(hideDealerFirst){
playerCardsEl.textContent = playerHand.join(' ');
playerValEl.textContent = handValue(playerHand);
if(hideDealerFirst){
dealerCardsEl.textContent = dealerHand[0] + ' ??';
dealerValEl.textContent = '?';
} else {
dealerCardsEl.textContent = dealerHand.join(' ');
dealerValEl.textContent = handValue(dealerHand);
}
}
function hit(){
if(!roundAct
ive) return;
playerHand.push(deck.pop());
renderHands(true);
const pv = handValue(playerHand);
if(pv>21){
cardMsg.textContent = Перебор ${pv}. Проигрыш.;
logКарты: перебор игрока ${pv});
roundActive=false;
document.getElementById('hit').classList.add('hidden');
document.getElementById('stand').classList.add('hidden');
}
}
function stand(){
if(!roundActive) return;
// dealer plays
while(handValue(dealerHand) < 17) dealerHand.push(deck.pop());
const pv = handValue(playerHand), dv = handValue(dealerHand);
const bet = Number(document.getElementById('deal').dataset.currentBet || 0);
renderHands(false);
let message='';
if(dv>21 || pv>dv){
// player wins 1:1
chips += bet*2; // return + win
save();
message = Вы выиграли! ${bet*1} фишек.;
logКарты: игрок ${pv} vs дилер ${dv} — выигрыш ${bet});
} else if(pv===dv){
// push: return bet
chips += bet;
save();
message = 'Ничья. Ставка возвращена.';
logКарты: ничья ${pv});
} else {
message = Дилер выиграл (${dv}). Вы проиграли.;
logКарты: дилер ${dv} побеждает игрока ${pv});
}
cardMsg.textContent = message;
roundActive=false;
document.getElementById('hit').classList.add('hidden');
document.getElementById('stand').classList.add('hidden');
}
document.getElementById('deal').onclick = ()=>{ resetRound(); deal(); };
document.getElementById('hit').onclick = hit;
document.getElementById('stand').onclick = stand;
// init
resetRound();
log('Казино готово. Удачи!');
})();
</script>
</body>
</html>
Скинь сам код или скриншот ошибки из консоли браузера, а то непонятно, в чем именно проблема. Обычно дело в забытой точке с запятой или лишней скобке, проверь внимательно синтаксис.
Приложи сам код или хотя бы текст ошибки из консоли, а то так сложно гадать. Скорее всего, где-то забыл скобку или точку с запятой, либо обращаешься к переменной, которую еще не объявил. Посмотри внимательно на номер строки в браузере, там обычно пишется причина.
У тебя ошибка из-за строк с ${...} — ты используешь шаблонные строки, но забыл обернуть их в обратные кавычки.
.