// 🂡🂢🂣🂤🂥 BLACKJACK HRA 🂡🂢🂣🂤🂥 function startBlackjack(){ mainPanel.innerHTML=''; controls.innerHTML=''; log.textContent=''; const container = document.createElement('div'); mainPanel.appendChild(container); // UI prvky const betInput = document.createElement('input'); betInput.type='number'; betInput.step='0.25'; betInput.min='0.25'; betInput.placeholder='Stávka (€)'; const startBtn = document.createElement('button'); startBtn.textContent='Začni hru'; const hitBtn = document.createElement('button'); hitBtn.textContent='Hit'; hitBtn.disabled=true; const standBtn = document.createElement('button'); standBtn.textContent='Stand'; standBtn.disabled=true; const playerDiv = document.createElement('div'); const dealerDiv = document.createElement('div'); const resultDiv = document.createElement('div'); resultDiv.className='result'; resultDiv.style.marginTop='10px'; playerDiv.style.marginTop = '10px'; dealerDiv.style.marginTop = '10px'; container.append(betInput, startBtn, hitBtn, standBtn, playerDiv, dealerDiv, resultDiv); let deck = [], playerHand=[], dealerHand=[], activeBet=0; // === DECK A HODNOTY === function createDeck(){ const suits = ['♠','♥','♦','♣']; const values = ['A','2','3','4','5','6','7','8','9','10','J','Q','K']; let d = []; for(let s of suits) for(let v of values) d.push(v+s); return d.sort(()=>Math.random()-0.5); } function cardValue(card){ let v = card.slice(0,-1); if(v==='A') return 11; if(['J','Q','K'].includes(v)) return 10; return parseInt(v); } function handValue(hand){ let sum = hand.reduce((acc,c)=>acc+cardValue(c),0); let aces = hand.filter(c=>c.startsWith('A')).length; while(sum>21 && aces>0){ sum-=10; aces--; } return sum; } function updateHands(hideDealer=false){ if(hideDealer){ dealerDiv.textContent = `Dealer: ${dealerHand[0]} [skrytá]`; } else { dealerDiv.textContent = `Dealer: ${dealerHand.join(' ')} (${handValue(dealerHand)})`; } playerDiv.textContent = `Hráč: ${playerHand.join(' ')} (${handValue(playerHand)})`; } // === KONIEC HRY === function endGame(){ hitBtn.disabled=true; standBtn.disabled=true; startBtn.disabled=false; let playerVal = handValue(playerHand); let dealerVal = handValue(dealerHand); updateHands(false); if(playerVal>21){ resultDiv.textContent=`💥 Prehral si ${activeBet.toFixed(2)}€ (Bust)`; resultDiv.style.color='red'; } else if(dealerVal>21 || playerVal>dealerVal){ let win = activeBet*2; bank += win; bankEl.textContent = bank.toFixed(2); resultDiv.textContent=`🎉 Vyhral si ${win.toFixed(2)}€!`; resultDiv.style.color='green'; } else if(playerVal===dealerVal){ bank += activeBet; bankEl.textContent = bank.toFixed(2); resultDiv.textContent=`🤝 Remíza, stávka vrátená`; resultDiv.style.color='orange'; } else { resultDiv.textContent=`💥 Prehral si ${activeBet.toFixed(2)}€`; resultDiv.style.color='red'; } } // === ŠTART HRY === startBtn.onclick = ()=>{ let bet = parseFloat(betInput.value); if(isNaN(bet) || bet<=0 || bet>bank){ log.textContent="Zlá stávka"; return; } bank -= bet; bankEl.textContent = bank.toFixed(2); activeBet=bet; resultDiv.textContent=''; resultDiv.style.color='white'; deck = createDeck(); playerHand = [deck.pop(), deck.pop()]; dealerHand = [deck.pop(), deck.pop()]; updateHands(true); startBtn.disabled=true; hitBtn.disabled=false; standBtn.disabled=false; // automatický blackjack (21 na začiatku) if(handValue(playerHand)===21){ resultDiv.textContent="🃏 BLACKJACK! Vyhrávaš 2.5x!"; resultDiv.style.color='gold'; let win = activeBet*2.5; bank += win; bankEl.textContent = bank.toFixed(2); startBtn.disabled=false; hitBtn.disabled=true; standBtn.disabled=true; } } // === TLAČIDLÁ === hitBtn.onclick = ()=>{ playerHand.push(deck.pop()); updateHands(true); if(handValue(playerHand)>21){ endGame(); } } standBtn.onclick = ()=>{ hitBtn.disabled=true; standBtn.disabled=true; while(handValue(dealerHand)<17){ dealerHand.push(deck.pop()); } endGame(); } } // 🔹 pridaj do menu hier let botOrder = ["mine","plinko","5050","slots","blackjack"]; // 🔹 pridaj do prepínača hier function startGame(game){ mainPanel.innerHTML=''; controls.innerHTML=''; log.textContent=''; updateBotky(game); if(game==="mine") startMines(); if(game==="plinko") startPlinko(); if(game==="5050") start5050(); if(game==="slots") startSlots(); if(game==="blackjack") startBlackjack(); }