En tout cas, je vais faire une synthese qui s'avere assez systematique :
Une question (interessante) :
SPH:
Apres avoir executer un quelconque randomseed, il est impossible de revenir au mode aleatoire de random.
Il devrait donc exister une instruction killrandomseed ou tuer le processus randomseed en lui passant la valeur 0 (ou une valeur negative)
Une reponse interessante :
DRI:
si tu veux en faire un toi même qui soit vraiment aléatoire donne ElapsedMilliseconds() comme germe aléatoire
Une reponse insensée (mais qui, au premier abord semble logique) :
Dobro:
ou bien un simple
Debug RandomSeed(Random(65535))
Il y a selon moi une impertinence d'un RandomSeed(Random(x)) provoquant un non retour au mode aleatoire.
Je millite pour un killrandomseed :
Debug Str(Random(100))+" : nombre entre 0 et 100 impossible a prevoir"
Debug Str(Random(100))+" : nombre entre 0 et 100 impossible a prevoir"
Debug Str(Random(100))+" : nombre entre 0 et 100 impossible a prevoir"
Debug Str(Random(100))+" : nombre entre 0 et 100 impossible a prevoir"
Debug ""
RandomSeed(100) : Debug "RandomSeed(100)"
Debug ""
Debug Str(Random(100))+" : le chiffre trouvé est 37"
Debug Str(Random(100))+" : le chiffre trouvé est 16"
Debug Str(Random(100))+" : le chiffre trouvé est 27"
Debug Str(Random(100))+" : le chiffre trouvé est 10"
Debug ""
RandomSeed(-1) : Debug "RandomSeed(-1)"
Debug "; Disons qu'on kill le process RandomSeed grace a '(-1)'"
Debug "; pour retrouver un réel mode aléatoire"
Debug ""
Debug Str(Random(100))+" : le chiffre sera 43; helas"
Debug Str(Random(100))+" : le chiffre sera 42; helas"
Debug Str(Random(100))+" : le chiffre sera 75; helas"
Debug Str(Random(100))+" : le chiffre sera 88; helas"
Debug ""
Debug "; Dommage, apres un RandomSeed, TOUS les nombres sont"
Debug "; previsibles meme quand on n'en veux plus..."
Debug "; Il manque un 'kill randomseed'"
La reponse bornée de Dobro :
Debug Str(Random(100))+" : nombre entre 0 et 100 impossible a prevoir"
Debug Str(Random(100))+" : nombre entre 0 et 100 impossible a prevoir"
Debug Str(Random(100))+" : nombre entre 0 et 100 impossible a prevoir"
Debug Str(Random(100))+" : nombre entre 0 et 100 impossible a prevoir"
Debug ""
RandomSeed(100) : Debug "RandomSeed(100)"
Debug ""
Debug Str(Random(100))+" : le chiffre trouvé est 37"
Debug Str(Random(100))+" : le chiffre trouvé est 16"
Debug Str(Random(100))+" : le chiffre trouvé est 27"
Debug Str(Random(100))+" : le chiffre trouvé est 10"
Debug ""
RandomSeed(Random(32000)) : Debug "RandomSeed(-1)"
Debug "; Disons qu'on kill le process RandomSeed grace a '(-1)'"
Debug "; pour retrouver un réel mode aléatoire"
Debug ""
Debug Str(Random(100))+" : le chiffre sera 43; helas"
Debug Str(Random(100))+" : le chiffre sera 42; helas"
Debug Str(Random(100))+" : le chiffre sera 75; helas"
Debug Str(Random(100))+" : le chiffre sera 88; helas"
Debug ""
Debug "; Dommage, apres un RandomSeed, TOUS les nombres sont"
Debug "; previsibles meme quand on n'en veux plus..."
Debug "; Il manque un 'kill randomseed'"
Les resultats montre le contraire d'un mode aleatoire :
15; 31; 93; 63
15; 31; 93; 63
15; 31; 93; 63
15; 31; 93; 63
15; 31; 93; 63
15; 31; 93; 63
15; 31; 93; 63
Malgré ca, Dobro se borne a croire en son RandomSeed(Random(xxx)) qui n'a AUCUN sens apres un precedent RandomSeed(xxxxx)
Il me dit meme :
je pense que t'a un problem avec ton ordi !!
chez moi mon programme en console fait varier les chiffres !!
en faisant "RandomSeed ( Random (32000))"
c'est evident qu'il fait changer le ramdom seed !!
si ça marche pas chez toi , c'est pas normal !
Cependant, apres avoir essuyé les insultes de "chercheur de merde", je montre le paradoxe d'un RandomSeed(Random(z)) voulant retablir le mode aleatoire quand il y a deja eu un premier RandomSeed.
La, Dobro comprend enfin ce paradoxe et se permet de le réexpliquer en reprenant betement mon explication alors que précédement, il n'avait rien capté :
c'est ce que Dri (et moi) lui avons dit au debut !!
il n'y a pas de mode reellement aléatoire avec un ordi
puisque la sequence est toujour prise a partir d'une liste immuable
en fait ton exemple montre que le premier random(100) est deja une sequence "previsible" car un RandomSeed(x) est effectué au lancement du compillateur ....
A noter que lui, defentait un randomseed(random(x)). Pourtant, il dit defendre ElapsedMilliseconds() !!
Puis il retombe tres naïvement dans sa logique pour oser reaffirmer :
donc cela revien a dire que mon RandomSeed(random(32000)) n'est pas plus idiot que RandomSeed(ElapsedMilliseconds()) !!!
Pourtant, RandomSeed(random(32000)) est TOTALEMENT NON ALEATOIRE...
PA - THE - TIQUE !!
