From 3ff4647fee1cdef6f017cb8e5f424e07e1fb929e Mon Sep 17 00:00:00 2001 From: framery Date: Wed, 10 Dec 2025 11:16:18 +0100 Subject: [PATCH] oehuizjio --- TP5/stub/exo3/Chef.java | 21 ++++++++++++++++----- TP5/stub/exo3/Person.java | 2 +- TP5/stub/exo3/Travailleur.java | 4 ++-- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/TP5/stub/exo3/Chef.java b/TP5/stub/exo3/Chef.java index 38ed1b9..bbe4e46 100644 --- a/TP5/stub/exo3/Chef.java +++ b/TP5/stub/exo3/Chef.java @@ -1,12 +1,13 @@ -import java.util.LinkedHashSet; +import java.util.*; import java.util.Objects; +import java.util.ArrayList; /** feuille du motif composite */ public class Chef extends Person { - + private List grp; public boolean addSubalterne(Person p){ - + return grp.add(p); } @@ -18,6 +19,7 @@ public class Chef extends Person { */ public Chef(int n){ super(n); + this.grp = new ArrayList<>(); // d'autres choses peut-être. } @@ -29,7 +31,11 @@ public class Chef extends Person { * */ public int bestPartyWithoutMe(){ - // to do + int total = 0; + for (Person p : grp) { + total += p.bestParty(); // Chaque subalterne peut choisir de venir ou non + } + return total; } /** @@ -40,7 +46,12 @@ public class Chef extends Person { * */ public int bestParty(){ - // to do + int sansMoi = bestPartyWithoutMe(); + int avecMoi = getFunFactor(); + for (Person p : grp) { + avecMoi += p.bestPartyWithoutMe(); // Si je viens, mes subalternes ne peuvent pas venir + } + return Math.max(sansMoi, avecMoi); } } diff --git a/TP5/stub/exo3/Person.java b/TP5/stub/exo3/Person.java index b4f1951..04670f0 100644 --- a/TP5/stub/exo3/Person.java +++ b/TP5/stub/exo3/Person.java @@ -1,6 +1,6 @@ /** "Les personnes sont soit des chefs, soit des travailleurs" */ -public abstract class Person{ +public abstract class Person{ /** * valeur indiquant le niveau de coolitude de la personne */ diff --git a/TP5/stub/exo3/Travailleur.java b/TP5/stub/exo3/Travailleur.java index 7df408b..b042242 100644 --- a/TP5/stub/exo3/Travailleur.java +++ b/TP5/stub/exo3/Travailleur.java @@ -15,14 +15,14 @@ public class Travailleur extends Person { * @return fête sans le travailleur */ public int bestPartyWithoutMe(){ - // return null; + return 0; } /** * @return fête avec le travailleur */ public int bestParty(){ - // return null; + return getFunFactor(); }