» »

js boolean problem

js boolean problem

bigbada ::

Ze cel dan se ubadan s problemom. Tu sem var jeNapaka nastavil na true; .. zgoraj
Potem pa v funkciji imam if .. Pač preverjanje.. če je nekaj enako potem nastavim na false, če ni na true..
In ko je true se mi izvede on switch stavek.
Problem je, da se mi izvede vedno!. Tudi če je enako se izvede, pa se ne bi smelo, ker takrat je jeNapaka nastavljena na false... Res ne vidim napake. Kaj naj spremenim?
function izbira(tipka) {
  tipka.style.background = "#EEAAAA"; //tipko, ki smo kliknilii obarva rdeče
  var crka = tipka.innerHTML.toLowerCase(); //dobimo mali znak, zapisan v tipki

  for(i=0; i<izbranaBeseda.length; i++) //za vsako črko v besedi
		{  
			if(izbranaBeseda[i].toLowerCase() == crka) //če se črka nahaja v besedi
			{
			document.getElementsByName('no'+i).item(0).value=crka; 
			jeNapaka==false;
			}
			else //če se črka ne nahaja v besedi
			{
			jeNapaka=true;
			}	
		}	

			if(jeNapaka==true)
			{
				stNapacnih++; //napaka, črka se ne nahaja, povečujemo števec
				switch(stNapacnih)  /* menjava slik glede na število napak */
				{  
				case 1:			  
				document.getElementById('idslike').src="img/igra_01.png"; 
				break;
				case 2:
				document.getElementById('idslike').src="img/igra_02.png"; 
				break;
				case 3:
				document.getElementById('idslike').src="img/igra_03.png"; 
				break;
				case 4:
				document.getElementById('idslike').src="img/igra_04.png"; 
				break;
				case 5:
				document.getElementById('idslike').src="img/igra_05.png"; 
				break;
				case 6:
				document.getElementById('idslike').src="img/luzer.png"; 
				break;
				}
			}  
	}

radiokills ::

V deseti vrstici imaš:
jeNapaka==false;

moralo bi bit:
jeNapaka=false;

bigbada ::

Hmm ja, vendar to ne reši problema... Še vedno se mi switch stavek izvede za oba pogoja... Kar nekaj. Vse je pravilno, a ne dela tak kot bi rad..

keworkian ::

A lahko napišeš kaj točno bi rad ti naredu s tole funkcijo? Ker meni ni jasno, žal.

radiokills ::

Verjetno gre za neko varianto igre 'vislice'

shinca ::

Trenutno imaš napisano tako, da bo false samo v primeru, ko je črka na zadnjem mestu besede, saj greš s for zanko po celi dolžini

Odstrani else in namesto tega jeNapaka postavi na true pred preverjanjem v for zanki. Ali pa naredi z while in preverjaj, dokler je jeNapaka true in nisi prišel do konca besede.

strokovnjak ::

V redu je, samo za vrsticama jeNapaka==false; in jeNapaka==true; dopiši break;

Zgodovina sprememb…

shinca ::

Ni res. V tem primeru bo vedno preverjal samo prvo črko besede. Pa seveda ne ==, saj želi prirejati.

bigbada ::

Če dodam break; mi najde prvo črko, potem pa dalje več ne.. če še je več istih.. recimo, da sta v besedi 2 črki A.. potem mi najde prvo, a nato naredi break in druge ne najde..
Sem pa rešil zdaj tako, da sem odstranil else tam iz for zanke, da je samo if.. Pa zdaj deluje čudežno

DiTi ::

drugače pa lahko namesto switcha daš
                if(stNapacnih<5){     
                document.getElementById('idslike').src="img/igra_0"+stNapacnih+".png";  
               }else{
                document.getElementById('idslike').src="img/luzer.png";  
                } 


je pa prav smešno kako ena naloga pri spletnem programiranju zafila forume :)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[Python]Naloga z razredi in dedovanjem

Oddelek: Programiranje
101147 (899) ktka
»

google maps api - key

Oddelek: Programiranje
51695 (1435) boss-tech
»

Javascript problemcek

Oddelek: Programiranje
141594 (1387) tempoFlow
»

Odprtje nove strani z javascript brez menija, statusne vrstice in naslovne vrstice. L

Oddelek: Izdelava spletišč
192126 (1846) mte
»

Tweakanje UT

Oddelek: Novice / Igre
191974 (1974) Jeebs

Več podobnih tem