Bonjour à vous,

J'aurai besoin d'une function qui me renvoie 1 ou 0, en fonction d'un couple de coordonnées (x, y), mais avec un effet le plus "aléatoire" possible sur l'ensemble des couples (X,Y).

C'est à dire que pour un meme couple (X1, Y1), ma fonction doit toujours renvoyer la même valeur, mais qu'il doit y avoir une forte entropie sur tous les Xi, Yi.

J'ai implémenté ceci, en m'inspirant des fonctions de génération pseudo aléatoire de base.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
Generer(precedent)
{
        renvoie (precedent * 1103515245 + 12345)
}
 
ObtenirValeur(precedent, min, max)
{
        valeur <- (previous >> 16)
 
        renvoie min + valeur % (max - min);
}
 
Fonction(x, y)
{
       donneeIntermediaire <- Generer(x * 10000 + y)
       valeur = ObtenirValeur(l_donneeIntermediaire, 0, 1000)
       si valeur >= 500 renvoie vrai
       sinon  renvoie faux
}
 
Test()
{
            pour tout x de 0 à 1024
            {
                pour tout y de 0 à 768
                {
                      Affiche(Fonction(x,y))
                }
            }
}
Mais à l'affichage, on se rend vite compte qu'il y a un motif de répétitions qui a une fenêtre d'environ 20 par 20. Je ne sais pas trop comment je pourrais aggrandire cette fenêtre, quelqu'un a t il une idée ?