GÉNÉRATEUR ALÉATOIRE SANS RND - AVEC GETTICKCOUNT

Signaler
Messages postés
483
Date d'inscription
mardi 10 juillet 2001
Statut
Membre
Dernière intervention
12 juillet 2006
-
Messages postés
5
Date d'inscription
vendredi 14 novembre 2003
Statut
Membre
Dernière intervention
6 décembre 2003
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/17537-generateur-aleatoire-sans-rnd-avec-gettickcount

Messages postés
5
Date d'inscription
vendredi 14 novembre 2003
Statut
Membre
Dernière intervention
6 décembre 2003

en vb ta huste a utiliser randomize timer c ben plus simple meme si tu utilise rnd au moin sa marche bien
Messages postés
54
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
9 juin 2004

merci sibi12, c bien ce que je pensais...
Messages postés
337
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
15 avril 2006

Bonjour à tous,

Pour helkanen les opérateur And Or et Not sont des opérateurs logique.Si tu veux juste avoir l'explication booléenne fait F1 en le selectionnant c'est très bien expliquer ds l'aide. Sinon ca s'applique aussi a des entiers il suffit d'appliquer bit à bit l'operateur sur chacun des 2 operandes:

par exemple :
10010011
OR 01010010
-------------
11010011

Il y a aussi sous VB les opérateurs Imp Xor et Not(un seul opérande) je crois que c tout
Messages postés
559
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
5 septembre 2007
1
Bon, c'est pas mal tout ca, je vous conseille comme l'ai dit CyberDevil de regarder des generateurs de nombre aleatoires beaucoup plus simples !!!

Genre : c1 = a*c0 + b
c0 est le premier nombre, il permet de creer c1, puis on reinjecte c1 dans la formule : c2 = a*c1 + b
Ainsi, seul le premier nombre a besoin de tickCount (ce qui est une bonne graine de départ).

!!! Attention !!!
a et b ne peuvent etre choisis n'importe comment, faites des essais, vous verrez bien :o). Le mieux serait de prendre des nombres premiers.

De plus, un bon truc tout simple pour eliminer les repetitions est de calculer un resultat beaucoup plus grand que l'ecart voulu, et de le ramener a l'ecart par un modulo :

ecart (0-10)
resultat (0-16000)
ainsi, meme si on a que des chiffres proches les uns des autres, on obtiendra un nombre aleatoire different :o)

Je vais tacher de retrouver le site qui expliquait tout ca :o)
Afficher les 8 commentaires