Certo
Commento riga per riga
Se ad esempio si imposta tot=6, la funzione sudoku potrà essere richiamata 6 volte in cui saranno restituiti 6 numeri diversi.Codice PHP:// identifico un valore massimo
tot = 6;
// creo l'array nums
nums = new Array();
// assegno ad ogni elemento dell'array un numero da 1 a tot
for (var id = 0; id<tot; id++) {
nums[id] = id+1;
}
// funzione sudoku, ovvero "mai lo stesso numero"
function sudoku() {
// calcolo un numero casuale compreso
// tra 0 e la lunghezza corrente dell'array
var rnd = random(nums.length);
// ottengo il valore dell'elemento che ha come indice
// il numero casuale calcolato
var val = nums[rnd];
// elimino dall'array l'elemento con tale indice
// riducendo pertanto la lunghezza dell'array stessa
nums.splice(rnd, 1);
// restituisco il valore ottenuto
return val;
}
// ogni volta che si richiama la funzione sudoku sarà restituito
// un numero compreso tra i valori restanti dell'array,
// dopo di che l'elemento relativo a tale valore sarà eliminato
// dall'array che andrà, di volta in volta, a ridimensionarsi
// e a indicizzare nuovamente i valori restanti, fino a quando
// non ci saranno più elementi nell'array
Dopo la sesta volta che si richiama la funzione sarà restituito il valore undefined.
Tutto qui![]()



Rispondi quotando