diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Hunt.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Hunt.java index 82c72fe..4c73fe6 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Hunt.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Hunt.java @@ -11,11 +11,11 @@ import java.util.ArrayList; public class Hunt extends EventCard { int foodToAdd; - int prestigeMoltiplicator; - public Hunt(int Era, int foodToAdd, int prestigeMoltiplicator) { + int prestigeMultiplicator; + public Hunt(int Era, int foodToAdd, int prestigeMultiplicator) { super(Era, EventType.HUNT); this.foodToAdd = foodToAdd; - this.prestigeMoltiplicator = prestigeMoltiplicator; + this.prestigeMultiplicator = prestigeMultiplicator; } @Override @@ -27,12 +27,12 @@ public class Hunt extends EventCard { for (BuildingCard buildingCard : buildingList) { if (buildingCard.getEffectId() == 7) { foodToAdd++; - prestigeMoltiplicator++; + prestigeMultiplicator++; } } player.addFood(foodToAdd); - player.addPrestige(prestigeMoltiplicator * hunterCounter); + player.addPrestige(prestigeMultiplicator * hunterCounter); } } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Sustenance.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Sustenance.java index 7d0dfcb..9794bdf 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Sustenance.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Sustenance.java @@ -24,13 +24,19 @@ public class Sustenance extends EventCard { @Override public void activateEvent (ArrayList playerList) throws NullPointerException { for(Player player : playerList){ - int NChar = player.getCharacterCards().size(); - int NGatherers = - (int) player.getCharacterCards().stream().filter(x -> x.getType().equals(CharacterType.GATHERERS)).count(); + int NChar = player.getTotCharacters(); + int NGatherers = player.getNType(CharacterType.GATHERERS); int NCharDiscount = 0; for(Player p : playerList){ - ArrayList characters = player.getCharacterCards(); + ArrayList characters = new ArrayList<>(); + characters.addAll(p.artists); + characters.addAll(p.builders); + characters.addAll(p.inventors); + characters.addAll(p.gatherers); + characters.addAll(p.shamans); + characters.addAll(p.hunters); + for(BuildingCard b : player.getBuildingCards()){ if(b.getEffectId() == 1){ NCharDiscount += (int) characters.stream().filter(x -> x.getType().equals(((Building1)b).getIcon())).count(); @@ -47,13 +53,9 @@ public class Sustenance extends EventCard { player.removeFood(FoodDebt); } else{ - while(player.getFoodValue() > 0 && FoodDebt > 0){ - player.removeFood(1); - FoodDebt--; - } - if(FoodDebt > 0){ - player.removePrestige(FoodDebt * PrestigeDebt); - } + FoodDebt -= player.getFoodValue(); + player.removeFood(player.getFoodValue()); // player.getFoodValue() == 0 + player.removePrestige(FoodDebt * PrestigeDebt); } } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Player.java b/src/main/java/it/polimi/ingsw/gc14/Model/Player.java index 7e2be36..427c92f 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Player.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Player.java @@ -91,6 +91,14 @@ public class Player { this.PrestigeValue -= Value; } + + public void setUserName(String UserName) throws IllegalArgumentException{ + final int MAXLEN = 32; + if(UserName.isEmpty() || UserName.length() > MAXLEN){ + throw new IllegalArgumentException(); + } + this.UserName = UserName; + } // End setters // Constructors diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/PlayerAddFoodTest.java b/src/test/java/it/polimi/ingsw/gc14/Model/PlayerAddFoodTest.java index 7ebabfb..2787260 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/PlayerAddFoodTest.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/PlayerAddFoodTest.java @@ -3,6 +3,7 @@ package it.polimi.ingsw.gc14.Model; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; class PlayerAddFoodTest { @@ -19,5 +20,14 @@ class PlayerAddFoodTest { p.addFood(-2); new_val = p.getFoodValue(); assertEquals(-1, new_val); // chiedere prof (dovrebbe essere +3 expected) + p.addFood(1); + + p.addFood(3); + p.removeFood(3); + assertEquals(0, p.getFoodValue()); + + p.addFood(4); + p.removeFood(p.getFoodValue()); + assertEquals(0, p.getFoodValue()); } } \ No newline at end of file