Tutaj w tym kodzie natomiast nie wyświetla się hasło(czyli wykreskowane litery hasła). Prawdopodobnie błąd jest w tej linijce :
var haslo1 = ""; for(var i = 0; i < dlugosc; i++) { if(haslo.charAt(i) == "") haslo1 = haslo1 + ""; // zamiast haslo[i] else haslo1 = haslo1 + "-"; }
Ponieważ haslo1 jak i szybciej haslo jest puste. Proszę o pomoc. var kategorie = { sport : [ 'Polski skoczek narciarski', 'Obecnie najlepszy polski pilkarz', 'Najszybszy kierowca F1' ], przyslowia : [ "Polak nie kaktus", "Kobyła ma mały bok", "Wyjątek potwierdza regułę", "Dziadek do orzechów","Bileciki do kontroli" ], muzyka : [ 'Slawna grupa Rockowa', 'Nazwa zespołu podobna do rodzaju nadwozia samochodu' ] }; var haslo = ''; function losuj_kategorie() { return Object.keys(kategorie)[Math.floor(Math.random()*Object.keys(kategorie).length)]; } function losuj_pytanie(kat) { var pytanie = kategorie[ kat [ Math.floor(Math.random() * kat.length) ] ]; // nawiasy kwadratowe dla obiektu sa po to, aby odczytac klucz w sposob 'customowy' console.log('pyt? : ', kategorie[kat][Math.floor(Math.random() * kategorie[kat].length)] ); haslo = pytanie; return pytanie; } haslo = haslo.toUpperCase(); // robi duże litery (lower case) < małe litery var dlugosc = haslo.length; var ile_skuch = 0; var yes = new Audio("yes.wav"); var no = new Audio("no.wav"); var haslo1 = ""; for(var i = 0; i < dlugosc; i++) { if(haslo.charAt(i) == "") haslo1 = haslo1 + ""; // zamiast haslo[i] else haslo1 = haslo1 + "-"; } function wypisz_haslo() { document.getElementById("plansza").innerHTML = haslo1; } function wypisz_kategorie(kat) { document.getElementById("wyl_kategoria").innerHTML = kat; } window.onload = start; var litery = new Array(35); // tablica litery[0] = "A"; litery[1] = "Ą"; litery[2] = "B"; litery[3] = "C"; litery[4] = "Ć"; litery[5] = "D"; litery[6] = "E"; litery[7] = "Ę"; litery[8] = "F"; litery[9] = "G"; litery[10] = "H"; litery[11] = "I"; litery[12] = "J"; litery[13] = "K"; litery[14] = "L"; litery[15] = "Ł"; litery[16] = "M"; litery[17] = "N"; litery[18] = "Ń"; litery[19] = "O"; litery[20] = "Ó"; litery[21] = "P"; litery[22] = "Q"; litery[23] = "R"; litery[24] = "S"; litery[25] = "Ś"; litery[26] = "T"; litery[27] = "U"; litery[28] = "V"; litery[29] = "W"; litery[30] = "X"; litery[31] = "Y"; litery[32] = "Z"; litery[33] = "Ź"; litery[34] = "Ż"; function start() { var tresc_diva =""; var kategoria = losuj_kategorie(), pytanie = losuj_pytanie(kategoria); for(var i = 0; i <= 34; i++) { var element = "lit" + i; tresc_diva = tresc_diva + '<div class="litera" onclick="sprawdz('+i+')" id="'+element+'">'+litery[i]+'</div>'; if ((i + 1) % 7 == 0) tresc_diva = tresc_diva + '<div style="clear:both;"></div>'; } document.getElementById("alfabet").innerHTML = tresc_diva; document.getElementById("kategoria").innerHTML = "Kategoria:"; console.log('kategoria: ', kategoria); wypisz_haslo(); wypisz_kategorie(kategoria); } String.prototype.ustawZnak = function(miejsce, znak) { if(miejsce > this.length - 1) return this.toString(); else return this.substr(0, miejsce) + znak + this.substr(miejsce + 1) } function sprawdz(nr) { var trafiona = false; // flaga for(var i = 0; i < dlugosc; i++) { if (haslo.charAt(i) == litery[nr]) { // alert(i); <- to jest test haslo1 = haslo1.ustawZnak(i, litery[nr]); trafiona = true; } } if (trafiona == true) { yes.play(); var element = "lit" + nr; document.getElementById(element).style.background = "#003300"; document.getElementById(element).style.color = "#00C000"; document.getElementById(element).style.border = "3px solid #00C000"; document.getElementById(element).style.cursor = "default"; wypisz_haslo(); } else { no.play(); var element = "lit" + nr; document.getElementById(element).style.background = "#330000"; document.getElementById(element).style.color = "#C00000"; document.getElementById(element).style.border = "3px solid #C00000"; document.getElementById(element).style.cursor = "default"; document.getElementById(element).setAttribute("onclick",";"); //skucha ile_skuch++; var obraz = "img/s" + ile_skuch + ".jpg"; document.getElementById("szubienica").innerHTML = '<img src ="'+obraz+'" alt="" />'; } // wygrana if(haslo == haslo1) document.getElementById("alfabet").innerHTML = "Tak jest! Podano prawidłowe hasło:"+haslo+'<br/><br/><span class="reset" onclick="location.reload()">JESZCZE RAZ?</span>' // przegrana if(ile_skuch >=9) document.getElementById("alfabet").innerHTML = "Przegrana. Prawidłowe haslo: "+haslo+'<br/><br/><span class="reset" onclick="location.reload()">JESZCZE RAZ?</span>'