Cześć :) Postanowiłem pobawić się trochę kodem JS z odcinka, w którym pan Mirek tworzył z nami grę w wisielca. Dodałem wybór kategorii (jedna z trzech, żeby wiedzieć czy wgl mi się uda) i po 10 haseł w każdej kategorii (umieszczone w tablicach). Teraz jako początkujący programista, chciałem dowiedzieć się, czy mój kod został dobrze napisany? Co o nim sądzicie i czy można to zrobić w sposób prostszy/szybszy do wczytania przez przeglądarkę? Oczywiście zostajemy tylko w JSie, bo tego się w danej chwili uczę, jedna rzecz na raz :)
var p = new Array (10); p[0] = "Bez pracy nie ma kołaczy"; p[1] = "Nie chwal dnia przed zachodem słońca"; p[2] = "Nie rób drugiemu co tobie nie miłe"; p[3] = "Miłość jest ślepa"; p[4] = "Baba z wozu koniom lżej"; p[5] = "Kto pod kim dołki kopie ten sam w nie wpada"; p[6] = "Robić z igły widły"; p[7] = "Widziały gały co brały"; p[8] = "Śmiać się baranim głosem"; p[9] = "Bić się z myślami"; var l = new Array (10); l[0] = "Józef Piłsudski"; l[1] = "Karol Wojtyła"; l[2] = "Jurij Gagarin"; l[3] = "Jan Matejko"; l[4] = "George Martin"; l[5] = "Mikołaj Kopernik"; l[6] = "Andrzej Wajda"; l[7] = "Bogusław Linda"; l[8] = "Krystyna Skarbek"; l[9] = "Emilia Plater"; var k = new Array (10); k[0] = "Polska"; k[1] = "Rosja"; k[2] = "Ukraina"; k[3] = "Niemcy"; k[4] = "Wielka Brytania"; k[5] = "Macedonia"; k[6] = "Białoruś"; k[7] = "Słowacja"; k[8] = "Czechy"; k[9] = "Węgry"; var numer = Math.floor(Math.random()*10); var haslo = ""; var dlugosc =""; function kat(nrkat) { if(nrkat==1) haslo=p[numer]; else if (nrkat==2) haslo=l[numer]; else haslo=k[numer]; start(); haselo(); } function haselo() { dlugosc = haslo.length; haslo = haslo.toUpperCase(); kreski(); } var haslo1 = ""; var ile_skuch = 0; function kreski(){ for (i=0; i<dlugosc; i++) { if(haslo.charAt(i)=="") haslo1 = haslo1 + ""; else haslo1 = haslo1 + "-"; wypisz_haslo(); } } function wypisz_haslo() { document.getElementById("plansza").innerHTML = haslo1; }
Wybór kategorii wyświetla się na wejście, są to: przysłowia, sławni ludzie oraz kraje świata (wiem, że bardziej Europy, ale mniejsza o to ;p), do każdego z napisów jest dodany onclick wywołujący funkcję "kat" i wysyłający odpowiedni dla siebie "nrkat". Z góry dziękuję za każdą ocenę, radę i opinię :)