Quitter un RandomSeed(x)

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
SPH
Messages : 4945
Inscription : mer. 09/nov./2005 9:53

Quitter un RandomSeed(x)

Message par SPH »

Quand on fait un RandomSeed(x), on ne peux plus (enfin, si) reprendre la main pour quitter les prochains chiffres.
Voici comment je fait :

Code : Tout sélectionner

random=10000;-randoom=10000
Dim seed.q(random) ; On se crée une banque de chiffres aléatoires
For i=1 To random
  seed(i)=Random(65536*32768-1)
Next

RandomSeed(1)
For i=1 To 10
  Debug "RandomSeed(1) = "+Str(Random(1000))
Next

Debug ""
Debug "Pour 'casser' le RandomSeed(1), on fait comme ça :"

RandomSeed(1)
Debug "RandomSeed(1) = "+Str(Random(1000))
Debug "Ca recommence comme la première liste..."
Debug "Et on le casse comme ça :"

seed(0)+1
If seed(0)>random
  seed(0)=1
EndIf
RandomSeed(seed(seed(0)))

For i=1 To 10
  Debug "RandomSeed("+Str(seed(seed(0)))+") = "+Str(Random(1000))
Next

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
SPH
Messages : 4945
Inscription : mer. 09/nov./2005 9:53

Re: Quitter un RandomSeed(x)

Message par SPH »

Si vous n'avez rien compris, voici la base :

Code : Tout sélectionner

seed=Random(65536*32768-1)

RandomSeed(1)
Debug "RandomSeed(1) = "+Str(Random(1000))

RandomSeed(seed) ;- se désolidarise de la liste de RandomSeed(1)
Debug "RandomSeed("+Str(seed)+") = "+Str(Random(1000))

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Répondre