Tablica z niepowtarzalnymi liczbami losowymi
Do klasy Mieszaj potrzebowałem tablicy z niepowtarzalnymi liczbami losowymi.
Tablica taka przyda się w przyszłości więc napisałem klasę która generuje taką tablicę.
public class TablicaRandom {
Do klasy przekazuje parametr, który określa maksymalną długość tablicy.
public static function random(dl_tablicy:Number):Array {
Tworzę tablicę temp w której będę przechowywać wszystkie jeszcze nie wylosowane liczby.
var temp:Array = new Array();
oraz tablicę odpowiedz którą na końcu zwrócę
var odpowiedz:Array = new Array();
Tablicę temp zapełniam kolejnymi liczbami z zakresu który został przekazany do klasy.
for (var i = 0; i < dl_tablicy; i++) {
temp[i] = i;
}
W pętli
for (var t = 0; t < dl_tablicy; t++) {
przy użyciu klasy Math.random losuje ze stworzonej tablicy temp
var wylosowany = Math.round(Math.random() * (temp.length - 1));
interesujące mnie liczby oraz dodaje je do tablicy odpowiedz
odpowiedz[t] = temp[wylosowany];
teraz usuwam wylosowaną liczbę z tablicy temp by ponownie jej nie wylosować.
temp.splice(wylosowany, 1);
}
No i zwracam odpowiedź.
return odpowiedz;
}
}

