Salve a tutti,

per sperimentare a fondo la funzione "Math" e i metodi "floor" e "random" ho creato un giochino che simula il lancio di due dadi. Questo è il codice che ho scritto:


<script type="text/javascript">

function lancio (dado , dado2) {

var dado_value=Math.floor(Math.random()*6);
var dado_value2=Math.floor(Math.random()*6);

switch (dado_value) {
case 0:
dado.src='img/face1.png';
break;
case 1:
dado.src='img/face2.png';
break;
case 2:
dado.src='img/face3.png';
break;
case 3:
dado.src='img/face4.png';
break;
case 4:
dado.src='img/face5.png';
break;
case 5:
dado.src='img/face6.png';
break;}

switch (dado_value2) {
case 0:
dado2.src='img/face1.png';
break;
case 1:
dado2.src='img/face2.png';
break;
case 2:
dado2.src='img/face3.png';
break;
case 3:
dado2.src='img/face4.png';
break;
case 4:
dado2.src='img/face5.png';
break;
case 5:
dado2.src='img/face6.png';
break;}

if (dado_value > dado_value2) {alert("Complimenti, hai vinto")}
else if (dado_value == dado_value2) {alert("Pareggio!");}
else {alert("Hai perso, ritenta!");}
};
e nel corpo della pagina


[img]img/noface.png[/img]
[img]img/noface.png[/img]

<input type="button" value="lancia il dado"; onclick="lancio(dado , dado2)" />
Funziona tutto perfettamente, però vorrei anche tenere memoria del numero di vittorie, sconfitte e pareggi. Ho provato così:

var count=1;
if (dado_value > dado_value2) {alert("Complimenti, hai vinto per la " + count + " volta"); return count++;}

il valore della variabile count tuttavia non viene modificato, rimane a 1. Se uso invece un loop for

for (var count=1 ; dado_value > dado_value2 ; count++)

ottengo l'effetto desiderato, ma in un loop infinito, come d'altra parte era ovvio aspettarsi. Mi chiedevo come far sì che una variabile cambi valore e ne conservi memoria.

Grazie a tutti dell'attenzione.

Saluti!