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>'