Nem tudom, miért kaptam warnt, sajnos az első próbálkozásom volt, nem vagyok én egy pro scripter és ahogyan megnéztem, volt vele egy kis probléma, mert valóban a kockát levertem az asztalról mikor eldobtam a kockát, de azt hittem, hogy nem lesz ezzel baj, DE hát sajnos warnt kaptam miatta. :\'(
Hát de mindegy, szóval nem értem, hogy miért nem volt a posztomnak értelme, mikor egy teljesne működő script volt, csak nem csinálta azt, amit kellett volna!!! Na de ezt mostan javítani fogom:
Szóval ez a második próbálkozásom, remélem hogy ezér tnem fogok warnt kapni! Úgy döntöttem, hogy a sokkal felsőbbrendűbb kockadobásos módszer helyett egy ilyen matematikai hülyeséggel próbálkozok ami úgy se érdekel senkit, de hát mindegy, ha nem akarok megint warnt kapni ettől a remek közösségtől, akkor ez van. :@
Na mindegy, ez egy
lineáris kongrugencia generátor, aminek az értékei a glibc-ből vannak szedve. A seed valami nehezen replikálható legyen, a tesztfüggvényben gettime() van. A szám 0 és RAND_MAX között lesz, használd a % operátort ha egy intervallumot akarsz. A számok nem kriptográfiailag biztosak meg mittudomén meg a többi hülyeség amit el kéne mondanom de NEM FOGOM inkább nézzetek utána!!!! Na szóval a lényeg hogy ezért nem kapok warnt?
?? ReméleM!!!!!!!!!!!!!!!!!!!!!
Implementáció:
#define RAND_MAX 0x7fffffff
new gNext;
getRandomNumber_test()
{
printf(\"Veletlen szam 0 es 50 kozott:\");
for( new i = 0; i<5000; i++ )
{
printf(\"%i: %i\\t\", i, getRandomNumber(gettime()) % 50 );
}
return 1;
}
getRandomNumber(seed)
{
if( gNext == 0 )
{
gNext = seed;
}
return gNext = (gNext * 1103515245 + 12345) & RAND_MAX;
}