mais je viens de trouver pkoi : C le Random rand (ou seed) = new Random() qui couille ...
il est dans les méthodes, qui sont appellées X fois par secondes...et visiblement en 1.4, le générateur de seed change la seed bcp moins souvent...d'où le bug des 6-7 premiers identiques, et de la suite qui change...c selon la puissance du pc du testeur, cad combien de fois il pourra appeller la méthode avant le changement de seed...
en 1.5 apparement ca doit changer, pour une raison que j'ignore (implémentation de la méthode ou JVM plus optimisée), en tout cas ca passe sans embuches...
si je le monte en variable de classe, ca marche...
Marche (notez le random hors des méthodes
Code :
- private Random seed = new Random();
- private int random(int min, int max) {
- return seed.nextInt(max) % (max + 1 - min) + min;
- }
- public int randomCentre(double centre) {
- double rand = 0;
- do {
- rand = Math.floor(seed.nextGaussian() + centre);
- } while (rand < 1);
- return new Double(rand).intValue();
- }
|
Marche pas (notez les random dans les méthodes)
Code :
- private int random(int min, int max) {
- Random seed = new Random();
- return seed.nextInt(max) % (max + 1 - min) + min;
- }
- public int randomCentre(double centre) {
- Random seed = new Random();
- double rand = 0;
- do {
- rand = Math.floor(seed.nextGaussian() + centre);
- } while (rand < 1);
- return new Double(rand).intValue();
- }
|
Message édité par Jubijub le 06-03-2005 à 01:34:56
---------------
Jubi Photos : Flickr - 500px