Random in JavaScript
Tutti i linguaggi di programmazione hanno un generatore di numeri(pseudo)casuali, che viene chiamato
random, parola inglese che sta per "
fatto a caso";
Per ottenere un numero a caso in JavaScript occorre chiamare la funzione
Math.random()
Esempio
<SCRIPT>
x=Math.random(); // memorizza il numero nella variabile x
alert("numero casuale prodotto= ",x)
</SCRIPT>
Se si fa funzionare questo script, ci si accorge che
il numero prodotto è un numero compreso tra 0 e 1, come accade nella random di molte calcolatrici.
Per ottenere un numero intero da 1 a N, si deve moltiplicare per N il numero ottenuto con la random, aggiungere 1 e togliere la parte decimale.
Esempio: simulazione del lancio di un dado.
<SCRIPT>
x=Math.random(); // memorizza il numero nella variabile x
x=6*x+1; // moltiplica per 6 e aggiunge 1
x=parseInt(x); // toglie la parte decimale
alert("numero casuale prodotto= ",x)
</SCRIPT>
1. Lancio del dado
Chiede all'utente un numero intero da 1 a 6. Estrae a caso un numero da 1 a 6.
Se l'utente ha indovinato, glielo comunica.
Altrimenti gli comunica che ha perso.
<SCRIPT>
n=prompt("Introduci un numero intero da 1 a 6","")
x=parseInt(1+Math.random()*6); // in una sola istruzione le tre di sopra!
if (x==n) alert("hai vinto! è stato estratto proprio " + x);
else alert("hai perso! è stato estratto " +x);
</SCRIPT>
2. Testa o croce
Chiede all'utente di selezionare testa (T) o croce (C). Estrae a caso un numero da 1 a 2.
Poiché la random dà numeri e l'utente introduce una stringa, dapprima trasformiamo il numero estratto dalla random in stringa.
Poi effettuiamo il controllo.
Altrimenti gli comunica che ha perso.
<SCRIPT>
n=prompt("Introduci T (testa) o C (croce)","")
x=parseInt(1+Math.random()*2); // in una sola istruzione le tre di sopra!
if (x==1) x="T"; // facciamo corrispondere a 1 Testa
else x="C"; // e facciamo corrispondere a 2 Croce
if (n==x) alert("hai vinto! è stato estratto proprio " + x);
else alert("hai perso! è stato estratto " + x);
</SCRIPT>