Generator de numere

static public void RandomFillMassive # 40; T # 91; # 93; argArray # 41; # 123;
var lenghtIndex = # 40; argArray ca sistem. mulțime # 41;. Lungime;
var countSwap = Random. gamă # 40; 50, 100 * lenghtIndex # 41; ;

pentru # 40; int i = 0; eu var index0 = Random. gamă # 40; 0, lenghtIndex # 41; ;
buclă.
var index1 = Random. gamă # 40; 0, lenghtIndex # 41; ;
dacă # 40; index1 == index0 # 41;
ghici;
var temp = argArray # 91; index0 # 93; ;
argArray # 91; index0 # 93; = argArray # 91; index1 # 93; ;
argArray # 91; index1 # 93; = temp;
# 125;
# 125;


Utilizați după cum urmează

1) Să presupunem că există 2 matrice
var someElements = int int [5];
var someGOs = nou jocObject [5];

2) Rearanjăm elementele la întâmplare, la momentul potrivit, în funcție de logica jocului
RandomFillMassive(SomeElements);
RandomFillMassive(SomeGOs);

3) Citim fiecare element al matricei prin ciclul someElements [index]. sau someGOs [index].

Kayler a scris (a): am ciclu, mai întâi a dat exemplu într-o matrice de 10 valori aleator, iar apoi înlocuiți ciclul repetat până când nu se va repeta

Teoretic, se poate închide) Și pentru o lungă perioadă de timp este.
Este mai ușor să completați cu numere în ordine ascendentă și apoi să le amestecați.

Dezvoltatorul Atom de pescuit - Pescuitul pentru un plutitor, Donka, zbura de pescuit, lingura in perioada post-nuclear.
Dezvoltator Atom Fishing II - Primul MMO 3D despre pescuit

Nu amestecați nimic.

1. Creați o matrice de elemente N, completați numerele de la 0 la N-1
2. Generați un număr real de la 0 la 1, înmulțiți cu N-1, rotunjiți în jos până la întreg
3. Schimbați acest element al matricei cu ultimul.
4. Luăm ultimul element al matricei în locul unui număr aleatoriu.

Aveți nevoie de ajutor? Înseși, ei înșiși, ei înșiși. fă-o singură

sincer nu a observat suspendarea, totul sa întâmplat instantaneu)


Vorbesc teoretic, nu ceva care atârnă cu adevărat. Ei bine, iată un exemplu, pentru a umple o serie de 10 elemente cu 8 numere care nu se repetă)) Totul, aveți un impas.

Dezvoltatorul Atom de pescuit - Pescuitul pentru un plutitor, Donka, zbura de pescuit, lingura in perioada post-nuclear.
Dezvoltator Atom Fishing II - Primul MMO 3D despre pescuit

Vă propun să generați o serie de valori unice și apoi să le distribuiți una câte una:

var arRSize. int = 10;
private var randomValue. int # 91; # 93; ; // array de valori unice
privat var nAddedValues. int = 0; // câte valori unice sunt deja adăugate la matrice

funcția Start # 40; # 41;
# 123;
randomValue = nou int # 91; arrSize # 93; ;
fillArrayRandomValues # 40; randomValue. 0. 100 # 41; ;
/ * pentru (valoare în valoare aleatorie)
Debug.Log ("Valoare:" + getRandomValue ());
>; /
# 125; ;

funcția fillArrayRandomValues # 40; matrice. int # 91; # 93;. min. int. max. int # 41;. vid
# 123;
nAddedValues ​​= 0;
pentru # 40; valoare în valoare aleatorie # 41;
# 123;
face
# 123;
valoare = aleatoriu. gamă # 40; min. max # 41; ;
# 125; în timp ce # 40; isUnique # 40; valoare # 41; # 41; ;
//Debug.Log(""Unique value: "+ value +" este adăugată. ");
nAddedValues ​​++;
# 125; ;
# 125; ;

funcția este Unic # 40; valoare. int # 41;. boolean
# 123;
pentru # 40; var i. int = 0; eu # 123;
dacă # 40; valoare == randomValue # 91; eu # 93; # 41; return false; // această valoare există deja în matrice
# 125; ;
return true;
# 125; ;

funcția getRandomValue # 40; # 41;. int
# 123;
returnează RandomValue # 91; - nAddedValues # 93; ;
# 125; ;

Articole similare