// Tablica na wyrazy do wylosowania const wyrazy = ['giganci', 'funkcja', 'wisielec']; // Tablica na adresy do grafik (zmienione na const dla spójności) const tabObrazki = [ 'wisielec0.png', 'wisielec1.png', 'wisielec2.png', 'wisielec3.png', 'wisielec4.png', 'wisielec5.png', 'wisielec6.png', 'wisielec7.png', 'wisielec8.png', 'wisielec9.png', 'wisielec10.png' ]; // Losowanie wyrazu const wyraz = wyrazy[Math.floor(Math.random() * wyrazy.length)]; // Tablica z odpowiedziami (zasłonięte hasło) const odpowiedzi = []; let pozostaleLitery = wyraz.length; // Szanse w grze (ilość grafik) let szanse = 11; const uzyte = []; // Elementy DOM (warto je przypisać do zmiennych, aby nie szukać ich wielokrotnie) const elGra = document.getElementById('gra'); const elKomunikat = document.getElementById('komunikat'); const elLitera = document.getElementById('litera'); const elPrzycisk = document.getElementById('ok'); // Przygotowanie zakrytego hasła for (let i = 0; i < wyraz.length; i++) { odpowiedzi[i] = '_'; } // Wyświetlenie początkowego stanu gry elGra.textContent = odpowiedzi.join(' '); // Obsługa zdarzenia kliknięcia przycisku OK elPrzycisk.addEventListener('click', function() { let czyTrafiony = false; elKomunikat.textContent = ''; const strzal = elLitera.value.toLowerCase(); // Dodano zamianę na małe litery elLitera.value = ''; // Walidacja wprowadzonego znaku if (strzal.length !== 1) { elKomunikat.textContent = "Proszę, podaj dokładnie jedną literkę."; return; // Kończymy funkcję wcześniej, jeśli brak litery } // Logika sprawdzania litery for (let j = 0; j < wyraz.length; j++) { if (wyraz[j] === strzal) { // Zapobieganie ponownemu zaliczaniu tej samej, już odkrytej litery if (odpowiedzi[j] === '_') { odpowiedzi[j] = strzal; pozostaleLitery--; czyTrafiony = true; } } } // Aktualizacja widoku hasła elGra.textContent = odpowiedzi.join(' '); // Sprawdzenie warunku wygranej if (pozostaleLitery === 0) { elPrzycisk.disabled = true; elLitera.disabled = true; elKomunikat.textContent = `Brawo! Odgadnięte hasło to: ${wyraz}`; elKomunikat.style.color = "green"; } });