Autor | Zpráva | ||
---|---|---|---|
Mozkomor05 Profil |
Dobrý den, chtěl jsem naprogramovat hru šibenici s diakritikou. Např. aby při kliknutí na písmeno A se ve slově kráva zobrazilo A i Á. Ale nedokážu si s tím poradit. Pomůžete mi prosím?
Kód zde: var databaze = ['kráva','zvíře']; var vysledek = []; var abeceda = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]; var uhodnute = []; var pokusu = 10, index, i, j, k, l, m = 0, n, o, konec = false, tajenka, napoveda, vyhry = 0, prohry = 0; var cervena = "#ff0000", zelena = "#00ff00"; var prednacist = []; for(o=0;o<=pokusu;o++) { prednacist[o] = new Image(); prednacist[o].src = "images/sibenice"+o+".jpg"; } function nova_tajenka() { index = 2*(Math.floor(Math.random()*(databaze.length/2))); for(n = 0; n<uhodnute.length; n++) { if(uhodnute[n]==index) { index = 2*(Math.floor(Math.random()*(databaze.length/2))); n = -1; } } tajenka = databaze[index].split(""); napoveda = databaze[index+1]; vysledek = []; for(k = 0; k<tajenka.length; k++) { vysledek[k] = "_"; } obnovit(); } function pismena() { $("#pismena").html("<div class=\"radek\">"); for(l = 0; l<abeceda.length; l++){ $("#pismena").html($("#pismena").html()+"<a href=\""+abeceda[l]+"\">"+abeceda[l].toUpperCase()+"</a>"); if(l==(abeceda.length/2)-1) { $("#pismena").html($("#pismena").html()+"</div><div class=\"radek\">"); } } $("#pismena").html($("#pismena").html()+"</div>"); $("#pismena a").click(function(){ if(($(this).attr("class")!="clicked")&&(konec==false)) { hra($(this).attr("href")); } return false; }); } function reset() { i = 0; nova_tajenka(); pismena(); $("#status").html(""); $("#sibenice").css({"background-image":"url(images/sibenice"+i+".jpg)"}); } function obnovit() { $("#policko").html(vysledek.join("")); $("#help").html(napoveda); } function hra(pismeno) { if(pismeno.length>1) { pismeno = pismeno.charAt(pismeno.length-1); } spravne_pismeno = false; for(j = 0; j<tajenka.length; j++) { if((tajenka[j]==pismeno)||(tajenka[j]==pismeno.toUpperCase())) { if(tajenka[j]==pismeno) { vysledek[j] = pismeno; } else { vysledek[j] = pismeno.toUpperCase(); } spravne_pismeno = true; $("#pismena a[href$="+pismeno+"]").css({"background-color":zelena}); } } if(spravne_pismeno==false) { $("#pismena a[href$="+pismeno+"]").css({"background-color":cervena}); i++; $("#sibenice").css({"background-image":"url(images/sibenice"+i+".jpg)"}); } obnovit(); $("#pismena a[href$="+pismeno+"]").attr("class", "clicked"); if(vysledek.join("")==tajenka.join("")) { $("#status").css({"color":zelena}); $("#status").html("Gratuluji, VÝHRA!"); konec = true; vyhry++; $("#vyhry").html(vyhry); uhodnute[m] = index; m++; if(uhodnute.length==(databaze.length)/2) { uhodnute = []; m = 0; } } if(i==pokusu) { $("#status").css({"color":cervena}); $("#status").html("Už nemáš více pokusů, PROHRA!"); konec = true; prohry++; $("#prohry").html(prohry); } if(konec) { $("#ovladani input:submit").removeAttr("disabled"); $("#ovladani input").focus(); } } $(document).ready(function(){ $("a[href=about]").click(function(){ alert("Hra šibenice\n" +"Počet slov v databázi: " +(databaze.length/2) +"\n" +"Jazyk: JavaScript\n" +"Autor: David Moškoř\n" +"© 2016"); return false; }); $("a[href=help]").click(function(){ alert("Známá hra šibenice (hangman)\n\n" +"1) Cílem hry je uhodnout celé slovo podle nápovědy.\n" +"2) Počet podržítek značí, kolik je ve slově písmen.\n" +"3) Písmena pište na klávesnici nebo na ně klikejte.\n" +"4) Správné písmeno bude označeno zeleně špatné červeně.\n" +"5) Každé písmeno je možné použít jen jednou.\n" +"6) Slovo musíte uhodnout dřív než budete oběšen :-)\n\n" +"Přeji příjemnou zábavu :-)"); return false; }); $("#vyhry").html(vyhry); $("#prohry").html(prohry); reset(); $("#ovladani").submit(function(){ konec = false; reset(); $("#ovladani input:submit").attr("disabled", "disabled"); return false; }); $(document).keydown(function(klavesa) { if(konec==false) { if(((klavesa.keyCode-65)>=0)&&((klavesa.keyCode-65)<abeceda.length)) { pismeno_klavesnice = abeceda[klavesa.keyCode-65]; if($("#pismena a[href$="+pismeno_klavesnice+"]").attr("class")!="clicked") { hra(pismeno_klavesnice); } } } }); }); window.onbeforeunload = function(){ if(konec==false) { return "Máte rozehranou hru opravdu chcete odejít?"; } } |
||
Mozkomor05 Profil |
Živá ukázka je zde: Odkaz
|
||
Časová prodleva: 9 let
|
0