Je n'ai pas regardé dans le détail ton algorithme parce qu'il y a quelque qui saute aux yeux : moyenne et divisor sont des int. En Java, un int divisé par int donne un int.
1 2 3 4 5 6 7
| public static void main(String[] args) {
System.out.println(1/3 + " != " + 1f/3);
System.out.println(3/2 + " != " + 3f/2);
System.out.println(255/7 + " != " + 255f/7);
} |
Donne
0 != 0.33333334
1 != 1.5
36 != 36.42857
Peut-être un premier problème à régler.
Ensuite, il y a de nombreuses petites différences avec l'algorithme. Si certaines ne sont pas impactantes (comme le fait d'initialiser à 100 les 4 coins au lieu de mettre une valeur aléatoire), d'autres me semblent plus douteuses au premier abord (l'initialisation de moyenne à 255/2 et divisor à 1, par exemple, ou ton modulor qui n'a rien à voir avec le decalage indiqué dans l'algorithme).
Partager