-
Hali!
Van egy random szám generátorom ami 6 számjegyet generál véletlenül,és olyat akarnák bele csinálni,hogy véletlenül ne hogy kétszer generálja le ugyanazt a számot,mert nem akarom hogy össze buggoljon. Azt hallottam hogy while ciklussal kéne megoldani valahogy,vagy hogy ? Aki segít annak elõre is köszi.
Ez generálja a számot:
stock randomEx(min, max)
{
//Credits to y_less
new rand = random(max-min)+min;
return rand;
}
-
Tehát olyat szeretnél hogy egymás után ne lehessen kétszer ugyanaz a szám?
new elozoszam;
stock randomEx(min, max)
{
//Credits to y_less
new rand;
do
{
rand = random(max-min)+min;
}
while(rand == elozoszam);
elozoszam = rand;
return rand;
}
-
Ha meg egy listából szeretnéd, akkor nem nagyon lehet mást csinálni, mint végignézni a lista összes elemét, hogy egyezik-e a generált értékkel.
-
Tehát olyat szeretnél hogy egymás után ne lehessen kétszer ugyanaz a szám?
new elozoszam;
stock randomEx(min, max)
{
//Credits to y_less
new rand;
do
{
rand = random(max-min)+min;
}
while(rand == elozoszam);
elozoszam = rand;
return rand;
}
Úgy szeretném,hogy például generál egy számot ami \"123456\",és azt szeretném, hogy ugyanezt a számot ne generálja le,tehát nem úgy szeretném hogy egymás mellet két ugyanolyan karaktert ne generáljon,hanem ezt,hogy teljesen ugyanazt a számot ne generáljon.
-
Ha meg egy listából szeretnéd, akkor nem nagyon lehet mást csinálni, mint végignézni a lista összes elemét, hogy egyezik-e a generált értékkel.
-
new elozoszam; // mód teteje
stock randomEx(min, max)
{
//Credits to y_less
new msz, rand;
do
{
rand = random(max-min)+min;
msz= rand;
} while(msz == elozoszam);
elozoszam = msz;
return rand;
}
Szerintem mûködni fog, egymás után nem generálja ugyanazt a számot. Kicsit bonyolultabb, ha azt szeretnéd, hogy többet soha ne legyen ugyanaz a szám.
Edit: Javítottam.