| 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: 10 let
|
|||
0