Nantes Université

Skip to content
Extraits de code Groupes Projets
Valider db59da9a rédigé par Rahaf ABDULLA's avatar Rahaf ABDULLA
Parcourir les fichiers

Merge remote-tracking branch 'origin/main'

parents 7ad06904 8a925ef1
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -18,6 +18,10 @@ public class ConcreteMissionFactory implements MissionFactory {
*/
@Override
public Mission createMissionCaptureContinents(Continent continent1, Continent continent2) {
if (continent1 == null || continent2 == null) {
throw new IllegalArgumentException("Continents cannot be null");
}
return new MissionCaptureContinents(continent1, continent2);
}
......@@ -28,6 +32,10 @@ public class ConcreteMissionFactory implements MissionFactory {
*/
@Override
public Mission createMissionCaptureTerritories(int nbTerritoires) {
if (nbTerritoires <= 0) {
throw new IllegalArgumentException("Number of territories must be positive");
}
return new MissionCaptureTerritories(nbTerritoires);
}
......@@ -38,6 +46,10 @@ public class ConcreteMissionFactory implements MissionFactory {
*/
@Override
public Mission createMissionDestroyOpponent(Color target) {
if (target == null) {
throw new IllegalArgumentException("Target color cannot be null");
}
return new MissionDestroyOpponent(target);
}
}
......@@ -26,6 +26,10 @@ public class MissionCaptureContinents extends Mission {
*/
protected MissionCaptureContinents(Continent continent1, Continent continent2) {
super("Vous devez conquerir les continents suivants : " + continent1.getName() + " et " + continent2.getName() + ".");
if (continent1 == null || continent2 == null) {
throw new IllegalArgumentException("Continent parameters cannot be null");
}
this.continent1 = continent1;
this.continent2 = continent2;
}
......@@ -38,13 +42,12 @@ public class MissionCaptureContinents extends Mission {
*/
@Override
public boolean isSuccessful(Player playerDontOnCheckVictory, Set<Player> players) {
if (playerDontOnCheckVictory != null) {
if (players != null) {
if (players.size() > 0) {
return (playerDontOnCheckVictory.getContinentsControls().contains(continent1)
&& playerDontOnCheckVictory.getContinentsControls().contains(continent2));
}
}
if (playerDontOnCheckVictory == null) {
throw new IllegalArgumentException("Player parameter cannot be null");
}
if (players != null && players.size() > 0) {
return (playerDontOnCheckVictory.getContinentsControls().contains(continent1)
&& playerDontOnCheckVictory.getContinentsControls().contains(continent2));
}
return false;
......
......@@ -24,6 +24,10 @@ public class MissionCaptureTerritories extends Mission {
*/
protected MissionCaptureTerritories(int nbTerritories) {
super("Vous devez conquerir " + nbTerritories + " territoires.");
if (nbTerritories <= 0) {
throw new IllegalArgumentException("The number of territories to capture must be positive.");
}
this.nbTerritories = nbTerritories;
}
......@@ -32,14 +36,13 @@ public class MissionCaptureTerritories extends Mission {
*/
@Override
public boolean isSuccessful(Player playerDontOnCheckVictory, Set<Player> players) {
if (Objects.nonNull(playerDontOnCheckVictory)) {
if (Objects.nonNull(players)) {
if (players.size() > 0) {
return playerDontOnCheckVictory.nbOwnedTerritories() >= nbTerritories;
}
}
if (playerDontOnCheckVictory == null) {
throw new IllegalArgumentException("The player to check for victory cannot be null.");
}
if (players == null || players.isEmpty()) {
throw new IllegalArgumentException("The set of players cannot be null or empty.");
}
return false;
return playerDontOnCheckVictory.nbOwnedTerritories() >= nbTerritories;
}
}
......@@ -45,23 +45,18 @@ public class MissionDestroyOpponent extends Mission {
*/
@Override
public boolean isSuccessful(Player playerDontOnCheckVictory, Set<Player> players) {
if (playerDontOnCheckVictory != null) {
if (players != null) {
if (!players.isEmpty()) {
// Check if the target player is eliminated
for (Player j : players) {
if (target.equals(j.getColor())) {
return (j.nbOwnedTerritories() == 0);
}
}
// Check if the player conquers 25 territories
return playerDontOnCheckVictory.getPossessedTerritories().size() >= CONQUERING_TERRITORIES;
} else {
return false;
if (playerDontOnCheckVictory == null || players == null || players.isEmpty()) {
return false;
}
// Check if the target player is eliminated
if (target != null) {
for (Player j : players) {
if (target.equals(j.getColor())) {
return (j.nbOwnedTerritories() == 0);
}
} else {
return false;
}
} else return false;
}
// Check if the player conquers 25 territories
return playerDontOnCheckVictory.getPossessedTerritories().size() >= CONQUERING_TERRITORIES;
}
}
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter