@@ -1,18 +1,35 @@
|
|||||||
package it.polimi.ingsw.gc14.Model.Orders;
|
package it.polimi.ingsw.gc14.Model.Orders;
|
||||||
|
|
||||||
import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
|
|
||||||
import it.polimi.ingsw.gc14.Model.OrderLogicCard;
|
import it.polimi.ingsw.gc14.Model.OrderLogicCard;
|
||||||
import it.polimi.ingsw.gc14.Model.Player;
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public class Order2 extends OrderLogicCard {
|
public class Order2 extends OrderLogicCard {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an Order2 logic card for a two-player game.
|
||||||
|
*
|
||||||
|
* @param players the list of players associated with this order card.
|
||||||
|
* @throws NoSuchElementException if the number of players is not equal to 2.
|
||||||
|
*/
|
||||||
public Order2(ArrayList<Player> players)throws NoSuchElementException {
|
public Order2(ArrayList<Player> players)throws NoSuchElementException {
|
||||||
if(players.size()!=2)
|
if(players.size()!=2)
|
||||||
throw new NoSuchElementException();
|
throw new NoSuchElementException();
|
||||||
super(players);
|
super(players);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Applies the effect associated with the specified position index for the given player.
|
||||||
|
* <p>If {@code index == 0}, the player gains 1 Food and the building effect is applied.
|
||||||
|
* <p>If {@code index == 1}, the player tries to remove 1 Food; if the player cannot remove it,
|
||||||
|
* the player loses 2 Prestige.
|
||||||
|
*
|
||||||
|
* @param player the player to whom the effect is applied.
|
||||||
|
* @param index the position index of the effect to apply.
|
||||||
|
* @throws IndexOutOfBoundsException if {@code index < 0} or {@code index >= 2}.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||||
{
|
{
|
||||||
@@ -29,7 +46,6 @@ public class Order2 extends OrderLogicCard {
|
|||||||
if(index==1){
|
if(index==1){
|
||||||
if(!player.removeFood(1)){
|
if(!player.removeFood(1)){
|
||||||
player.removePrestige(2);
|
player.removePrestige(2);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,11 +7,29 @@ import java.util.ArrayList;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
|
|
||||||
public class Order3 extends OrderLogicCard {
|
public class Order3 extends OrderLogicCard {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an Order3 logic card for a three-player game.
|
||||||
|
*
|
||||||
|
* @param players the list of players associated with this order card.
|
||||||
|
* @throws NoSuchElementException if the number of players is not equal to 3.
|
||||||
|
*/
|
||||||
public Order3(ArrayList<Player> players) throws NoSuchElementException{
|
public Order3(ArrayList<Player> players) throws NoSuchElementException{
|
||||||
if(players.size()!=3)
|
if(players.size()!=3)
|
||||||
throw new NoSuchElementException();
|
throw new NoSuchElementException();
|
||||||
super(players);
|
super(players);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Applies the effect associated with the specified position index for the given player.
|
||||||
|
* <p>If {@code index == 0}, the player gains 2 Food and the building effect is applied.
|
||||||
|
* <p>If {@code index == 1}, no effect is applied.
|
||||||
|
* <p>If {@code index == 2}, if the player can remove 1 Food, the player loses 2 Prestige.
|
||||||
|
*
|
||||||
|
* @param player the player to whom the effect is applied.
|
||||||
|
* @param index the position index of the effect to apply.
|
||||||
|
* @throws IndexOutOfBoundsException if {@code index < 0} or {@code index >= 3}.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||||
{
|
{
|
||||||
@@ -29,7 +47,6 @@ public class Order3 extends OrderLogicCard {
|
|||||||
if(player.removeFood(1)){
|
if(player.removeFood(1)){
|
||||||
player.removePrestige(2);
|
player.removePrestige(2);
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,11 +7,31 @@ import java.util.ArrayList;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
|
|
||||||
public class Order4 extends OrderLogicCard {
|
public class Order4 extends OrderLogicCard {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an Order4 logic card for a four-player game.
|
||||||
|
*
|
||||||
|
* @param players the list of players associated with this order card.
|
||||||
|
* @throws NoSuchElementException if the number of players is not equal to 4.
|
||||||
|
*/
|
||||||
public Order4(ArrayList<Player> players)throws NoSuchElementException {
|
public Order4(ArrayList<Player> players)throws NoSuchElementException {
|
||||||
if(players.size()!=4)
|
if(players.size()!=4)
|
||||||
throw new NoSuchElementException();
|
throw new NoSuchElementException();
|
||||||
super(players);
|
super(players);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Applies the effect associated with the specified position index for the given player.
|
||||||
|
* <p>If {@code index == 0}, the player gains 2 Food and the building effect is applied.
|
||||||
|
* <p>If {@code index == 1}, the player gains 1 Food and the building effect is applied.
|
||||||
|
* <p>If {@code index == 2}, no effect is applied.
|
||||||
|
* <p>If {@code index == 3}, the player tries to remove 1 Food; if the removal succeeds,
|
||||||
|
* the player loses 2 Prestige.
|
||||||
|
*
|
||||||
|
* @param player the player to whom the effect is applied.
|
||||||
|
* @param index the position index of the effect to apply.
|
||||||
|
* @throws IndexOutOfBoundsException if {@code index < 0} or {@code index >= 4}.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||||
{
|
{
|
||||||
@@ -35,7 +55,6 @@ public class Order4 extends OrderLogicCard {
|
|||||||
if(player.removeFood(1)){
|
if(player.removeFood(1)){
|
||||||
player.removePrestige(2);
|
player.removePrestige(2);
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,11 +7,32 @@ import java.util.ArrayList;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
|
|
||||||
public class Order5 extends OrderLogicCard {
|
public class Order5 extends OrderLogicCard {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an Order5 logic card for a five-player game.
|
||||||
|
*
|
||||||
|
* @param players the list of players associated with this order card.
|
||||||
|
* @throws NoSuchElementException if the number of players is not equal to 5.
|
||||||
|
*/
|
||||||
public Order5(ArrayList<Player> players) throws NoSuchElementException{
|
public Order5(ArrayList<Player> players) throws NoSuchElementException{
|
||||||
if(players.size()!=5)
|
if(players.size()!=5)
|
||||||
throw new NoSuchElementException();
|
throw new NoSuchElementException();
|
||||||
super(players);
|
super(players);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Applies the effect associated with the specified position index for the given player.
|
||||||
|
* <p>If {@code index == 0}, the player gains 3 Food and the building effect is applied.
|
||||||
|
* <p>If {@code index == 1}, the player gains 1 Food and the building effect is applied.
|
||||||
|
* <p>If {@code index == 2}, no effect is applied.
|
||||||
|
* <p>If {@code index == 3}, no effect is applied.
|
||||||
|
* <p>If {@code index == 4}, the player tries to remove 1 Food; if the removal succeeds,
|
||||||
|
* the player loses 2 Prestige.
|
||||||
|
*
|
||||||
|
* @param player the player to whom the effect is applied.
|
||||||
|
* @param index the position index of the effect to apply.
|
||||||
|
* @throws IndexOutOfBoundsException if {@code index < 0} or {@code index >= 5}.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||||
{
|
{
|
||||||
@@ -35,7 +56,6 @@ public class Order5 extends OrderLogicCard {
|
|||||||
if(player.removeFood(1)){
|
if(player.removeFood(1)){
|
||||||
player.removePrestige(2);
|
player.removePrestige(2);
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user