From 08995c2e2765cefcd5bb96613ae082b2cb050ec2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?La=C3=ABtitia=20VAL?= Date: Mon, 23 Mar 2026 11:57:54 +0100 Subject: [PATCH] Ajustement des objectifs --- src/main/java/sae/chuzzle/GestionnaireObjectifs.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main/java/sae/chuzzle/GestionnaireObjectifs.java b/src/main/java/sae/chuzzle/GestionnaireObjectifs.java index b850795..32ffcda 100644 --- a/src/main/java/sae/chuzzle/GestionnaireObjectifs.java +++ b/src/main/java/sae/chuzzle/GestionnaireObjectifs.java @@ -24,12 +24,11 @@ public class GestionnaireObjectifs { int totalPoids = 0; // 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 n = 1; n <= m - 1; n++) { + for (int n = 1; n <= m - 1 && n <= 3; n++) { // Probabilité inversement proportionnelle à la facilité (M-N). // 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 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 cumul = 0; for (Objectif obj : pool) { @@ -72,6 +73,3 @@ public class GestionnaireObjectifs { } } -/** - * Note: La classe Objectif a été mise à jour pour inclure getNbSeriesCible et getNbCoupsMax. - */