transfert de addXp vers Player
Clement COLMERAUER

Clement COLMERAUER commited on 2024-10-04 17:25:20
Showing 4 changed files, with 16 additions and 42 deletions.

... ...
@@ -10,10 +10,10 @@ public class Main {
10 10
         Player firstPlayer = new Player("Florian", "Ruzberg de Rivehaute", "DWARF", 200, new ArrayList<>());
11 11
         firstPlayer.addMoney(400);
12 12
 
13
-        UpdatePlayer.addXp(firstPlayer, 15);
13
+        firstPlayer.addXp(15);
14 14
         System.out.println(Affichage.afficherJoueur(firstPlayer));
15 15
         System.out.println("------------------");
16
-        UpdatePlayer.addXp(firstPlayer, 20);
16
+        firstPlayer.addXp(20);
17 17
         System.out.println(Affichage.afficherJoueur(firstPlayer));
18 18
     }
19 19
 }
20 20
\ No newline at end of file
... ...
@@ -5,7 +5,7 @@ import java.util.Random;
5 5
 
6 6
 public class UpdatePlayer {
7 7
 
8
-    private final static String[] objectList = {"Lookout Ring : Prevents surprise attacks","Scroll of Stupidity : INT-2 when applied to an enemy", "Draupnir : Increases XP gained by 100%", "Magic Charm : Magic +10 for 5 rounds", "Rune Staff of Curse : May burn your ennemies... Or yourself. Who knows?", "Combat Edge : Well, that's an edge", "Holy Elixir : Recover your HP"
8
+    public final static String[] objectList = {"Lookout Ring : Prevents surprise attacks","Scroll of Stupidity : INT-2 when applied to an enemy", "Draupnir : Increases XP gained by 100%", "Magic Charm : Magic +10 for 5 rounds", "Rune Staff of Curse : May burn your ennemies... Or yourself. Who knows?", "Combat Edge : Well, that's an edge", "Holy Elixir : Recover your HP"
9 9
     };
10 10
 
11 11
     public static HashMap<String, HashMap<Integer, HashMap<String, Integer>>> abilitiesPerTypeAndLevel() {
... ...
@@ -98,30 +98,6 @@ public class UpdatePlayer {
98 98
         return abilitiesPerTypeAndLevel;
99 99
     }
100 100
 
101
-    public static boolean addXp(Player player, int xp) {
102
-        int currentLevel = player.retrieveLevel();
103
-        player.setXp(player.getXp()+xp);
104
-        int newLevel = player.retrieveLevel();
105
-
106
-        if (newLevel != currentLevel) {
107
-            // Player leveled-up!
108
-            // Give a random object
109
-            ;
110
-            Random random = new Random();
111
-            player.inventory.add(objectList[random.nextInt(objectList.length - 0) + 0]);
112
-
113
-            // Add/upgrade abilities to player
114
-            HashMap<String, Integer> abilities = abilitiesPerTypeAndLevel().get(player.getAvatarClass()).get(newLevel);
115
-            abilities.forEach((ability, level) -> {
116
-                player.abilities.put(ability, abilities.get(ability));
117
-            });
118
-            return true;
119
-        }
120
-        return false;
121
-    }
122
-
123
-
124
-
125 101
     // majFinDeTour met à jour les points de vie
126 102
     public static void majFinDeTour(Player player) {
127 103
         if(player.getCurrentHealthPoints() == 0) {
... ...
@@ -18,7 +18,7 @@ public class GlobalTest {
18 18
     @Test
19 19
     void testAffichageBase() {
20 20
         Player player = new Player("Florian", "Gnognak le Barbare", "ADVENTURER", 200, new ArrayList<>());
21
-        UpdatePlayer.addXp(player, 20);
21
+        player.addXp(20);
22 22
         player.inventory = new ArrayList<>();
23 23
 
24 24
         verify(Affichage.afficherJoueur(player));
... ...
@@ -85,33 +85,31 @@ public class UnitTests {
85 85
     void testRetrieveLevel() {
86 86
         Player p = new Player("Florian", "Grognak le barbare", "ADVENTURER", 100, new ArrayList<>());
87 87
         boolean b;
88
-        b = UpdatePlayer.addXp(p,5);
88
+        p.addXp(5);
89 89
         assertThat(p.getXp(),is(5));
90 90
         assertThat(p.retrieveLevel(),is(1));
91
-        b = UpdatePlayer.addXp(p,6);
91
+        p.addXp(6);
92 92
         assertThat(p.retrieveLevel(),is(2));
93
-        b = UpdatePlayer.addXp(p,22);
93
+        p.addXp(22);
94 94
         assertThat(p.retrieveLevel(),is(3));
95
-        b = UpdatePlayer.addXp(p,30);
95
+        p.addXp(30);
96 96
         assertThat(p.retrieveLevel(),is(4));
97
-        b = UpdatePlayer.addXp(p,100);
97
+        p.addXp(100);
98 98
         assertThat(p.retrieveLevel(),is(5));
99 99
 
100 100
         p = new Player("Florian", "Grognak le barbare", "ADVENTURER", 100, new ArrayList<>());
101 101
         int tailleinv = p.inventory.size();
102
-        b = UpdatePlayer.addXp(p,10);
102
+        p.addXp(10);
103 103
         int atk = p.abilities.get("ATK");
104 104
         assertNotEquals(p.inventory.size(),tailleinv);
105 105
         assertThat(p.retrieveLevel(),is(2));
106
-        assertThat(b,is(true));
107
-        b = UpdatePlayer.addXp(p,17);
106
+        p.addXp(17);
108 107
         assertThat(p.retrieveLevel(),is(3));
109
-        b = UpdatePlayer.addXp(p,30);
108
+        p.addXp(30);
110 109
         assertThat(p.retrieveLevel(),is(4));
111
-        b = UpdatePlayer.addXp(p,54);
110
+        p.addXp(54);
112 111
         assertThat(p.retrieveLevel(),is(5));
113
-        b = UpdatePlayer.addXp(p,1);
114
-        assertThat(b,is(false));
112
+        p.addXp(1);
115 113
         assertNotEquals(p.abilities.get("ATK"),atk);
116 114
     }
117 115
 
... ...
@@ -126,7 +124,7 @@ public class UnitTests {
126 124
         p.setHealthPoints(10);
127 125
         UpdatePlayer.majFinDeTour(p);
128 126
         assertThat(p.getCurrentHealthPoints(),is(2));
129
-        boolean b = UpdatePlayer.addXp(p,100);
127
+        p.addXp(100);
130 128
         UpdatePlayer.majFinDeTour(p);
131 129
         p.setCurrentHealthPoints(9);
132 130
         UpdatePlayer.majFinDeTour(p);
... ...
@@ -164,7 +162,7 @@ public class UnitTests {
164 162
         p = new Player("Florian", "Grognak le barbare", "ADVENTURER", 100, new ArrayList<>());
165 163
         p.setCurrentHealthPoints(1);
166 164
         p.setHealthPoints(10);
167
-        UpdatePlayer.addXp(p,28);
165
+        p.addXp(28);
168 166
         UpdatePlayer.majFinDeTour(p);
169 167
         assertThat(p.getCurrentHealthPoints(),is(3));
170 168
 
171 169