Hunt test added
This commit is contained in:
@@ -17,7 +17,6 @@ public class Hunt extends EventCard {
|
|||||||
this.prestigeMoltiplicator = prestigeMoltiplicator;
|
this.prestigeMoltiplicator = prestigeMoltiplicator;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO
|
|
||||||
@Override
|
@Override
|
||||||
public void activateEvent (ArrayList <Player> playerList){
|
public void activateEvent (ArrayList <Player> playerList){
|
||||||
for (Player player : playerList) {
|
for (Player player : playerList) {
|
||||||
|
|||||||
+48
-1
@@ -6,13 +6,60 @@ import it.polimi.ingsw.gc14.Model.Player;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class ShamanicRitual extends EventCard {
|
public class ShamanicRitual extends EventCard {
|
||||||
public ShamanicRitual(int Era) {
|
int prestigeToAdd;
|
||||||
|
int getPrestigeToRemove;
|
||||||
|
public ShamanicRitual(int Era, int prestigeToAdd, int getPrestigeToRemove) {
|
||||||
super(Era, EventType.SHAMANIC_RITUAL);
|
super(Era, EventType.SHAMANIC_RITUAL);
|
||||||
|
this.prestigeToAdd = prestigeToAdd;
|
||||||
|
this.getPrestigeToRemove = getPrestigeToRemove;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
@Override
|
@Override
|
||||||
public void activateEvent (ArrayList <Player> playerList){
|
public void activateEvent (ArrayList <Player> playerList){
|
||||||
|
int maxPrestige = playerList.get(0).getPrestigeValue();
|
||||||
|
int minPrestige = playerList.get(0).getPrestigeValue();
|
||||||
|
ArrayList <Player> maxPrestigePlayer = new ArrayList<>();
|
||||||
|
ArrayList <Player> minPrestigePlayer = new ArrayList<>();
|
||||||
|
|
||||||
|
for (Player player : playerList) {
|
||||||
|
if (player.getPrestigeValue() > maxPrestige) {
|
||||||
|
maxPrestige = player.getPrestigeValue();
|
||||||
|
}
|
||||||
|
if (player.getPrestigeValue() < minPrestige) {
|
||||||
|
minPrestige = player.getPrestigeValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player player : playerList) {
|
||||||
|
int count = (int) player.getBuildingCards().stream().filter(b -> b.getEffectId() == 1).count();
|
||||||
|
player.addPrestige(3 * count);
|
||||||
|
|
||||||
|
if (player.getPrestigeValue() == maxPrestige) {
|
||||||
|
maxPrestigePlayer.add(player);
|
||||||
|
}
|
||||||
|
if (player.getPrestigeValue() == minPrestige) {
|
||||||
|
minPrestigePlayer.add(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
player.removePrestige(3 * count);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player player : maxPrestigePlayer) {
|
||||||
|
player.addPrestige(prestigeToAdd);
|
||||||
|
if (player.getBuildingCards().stream().anyMatch(b -> b.getEffectId() == 6)) {
|
||||||
|
player.addPrestige(prestigeToAdd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (Player player : minPrestigePlayer) {
|
||||||
|
if (!(player.getBuildingCards().stream().anyMatch(b -> b.getEffectId() == 2))){
|
||||||
|
player.removePrestige(getPrestigeToRemove);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events;
|
||||||
|
|
||||||
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
class HuntEventTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void activateEvent() {
|
||||||
|
Player p1 = new Player("Giacomo");
|
||||||
|
Player p2 = new Player("xiaomi");
|
||||||
|
Player p3 = new Player("intellij");
|
||||||
|
Player p4 = new Player("mesos");
|
||||||
|
|
||||||
|
|
||||||
|
ArrayList<Player> players = new ArrayList<>(Arrays.asList(p1,p2,p3,p4));
|
||||||
|
Hunt h1 = new Hunt(1, 1, 3);
|
||||||
|
h1.activateEvent(players);
|
||||||
|
|
||||||
|
assertEquals(0, p1.getPrestigeValue());
|
||||||
|
assertEquals(1, p1.getFoodValue());
|
||||||
|
assertEquals(0, p2.getPrestigeValue());
|
||||||
|
assertEquals(1, p2.getFoodValue());
|
||||||
|
assertEquals(0, p3.getPrestigeValue());
|
||||||
|
assertEquals(1, p3.getFoodValue());
|
||||||
|
assertEquals(0, p4.getPrestigeValue());
|
||||||
|
assertEquals(1, p4.getFoodValue());
|
||||||
|
|
||||||
|
Hunt h2 = new Hunt(1, -11, 0);
|
||||||
|
h2.activateEvent(players);
|
||||||
|
assertEquals(0, p1.getPrestigeValue());
|
||||||
|
assertEquals(-10, p1.getFoodValue());
|
||||||
|
assertEquals(0, p2.getPrestigeValue());
|
||||||
|
assertEquals(-10, p2.getFoodValue());
|
||||||
|
assertEquals(0, p3.getPrestigeValue());
|
||||||
|
assertEquals(-10, p3.getFoodValue());
|
||||||
|
assertEquals(0, p4.getPrestigeValue());
|
||||||
|
assertEquals(-10, p4.getFoodValue());
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user