Ajustement des objectifs
This commit is contained in:
@@ -24,12 +24,11 @@ public class GestionnaireObjectifs {
|
|||||||
int totalPoids = 0;
|
int totalPoids = 0;
|
||||||
|
|
||||||
// M (nbCoupsMax) entre 2 et 5.
|
// M (nbCoupsMax) entre 2 et 5.
|
||||||
// N (nbSeriesCible) tel que M - N >= 1, donc N <= M - 1.
|
// N (nbSeriesCible) tel que M - N >= 1 et N <= 3.
|
||||||
for (int m = 2; m <= 5; m++) {
|
for (int m = 2; m <= 5; m++) {
|
||||||
for (int n = 1; n <= m - 1; n++) {
|
for (int n = 1; n <= m - 1 && n <= 3; n++) {
|
||||||
// Probabilité inversement proportionnelle à la facilité (M-N).
|
// Probabilité inversement proportionnelle à la facilité (M-N).
|
||||||
// Plus (M-N) est petit, plus c'est dur.
|
// Plus (M-N) est petit, plus c'est dur.
|
||||||
// Exemple : M=5, N=4 -> diff=1 (Dur). M=5, N=1 -> diff=4 (Facile).
|
|
||||||
int diff = m - n;
|
int diff = m - n;
|
||||||
int poids = diff * diff; // On utilise le carré pour accentuer la différence de probabilité
|
int poids = diff * diff; // On utilise le carré pour accentuer la différence de probabilité
|
||||||
|
|
||||||
@@ -40,6 +39,8 @@ public class GestionnaireObjectifs {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (totalPoids == 0) return null;
|
||||||
|
|
||||||
int tirage = random.nextInt(totalPoids);
|
int tirage = random.nextInt(totalPoids);
|
||||||
int cumul = 0;
|
int cumul = 0;
|
||||||
for (Objectif obj : pool) {
|
for (Objectif obj : pool) {
|
||||||
@@ -72,6 +73,3 @@ public class GestionnaireObjectifs {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Note: La classe Objectif a été mise à jour pour inclure getNbSeriesCible et getNbCoupsMax.
|
|
||||||
*/
|
|
||||||
|
|||||||
Reference in New Issue
Block a user