Merge pull request #60 from rubenpirreram/FIX_NO_OPTIONAL_CARD
Add:No Optional Card
This commit is contained in:
@@ -68,16 +68,27 @@ public class ClientLauncherTUI {
|
|||||||
|
|
||||||
|
|
||||||
private void getInput(Scanner scanner, ClientController controller, String username) {
|
private void getInput(Scanner scanner, ClientController controller, String username) {
|
||||||
int action = scanner.nextInt();
|
String action = scanner.next();
|
||||||
int pos = scanner.nextInt();
|
int pos=-1;
|
||||||
|
if(!action.equals("8")) {
|
||||||
|
try
|
||||||
|
{
|
||||||
|
pos = scanner.nextInt();
|
||||||
|
}
|
||||||
|
catch(Exception e)
|
||||||
|
{
|
||||||
|
System.out.println("ERROR: Invalid input(expected number)");
|
||||||
|
}
|
||||||
|
}
|
||||||
switch(action) {
|
switch(action) {
|
||||||
case 1 -> controller.drawLowerBuildingCard(username, pos);
|
case "1" -> controller.slotChoice(username, pos);
|
||||||
case 2 -> controller.drawLowerTribeCard(username, pos);
|
case "2" -> controller.drawUpperBuildingCard(username, pos);
|
||||||
case 3 -> controller.drawUpperBuildingCard(username, pos);
|
case "3" -> controller.drawUpperTribeCard(username, pos);
|
||||||
case 4 -> controller.drawUpperTribeCard(username, pos);
|
case "4" -> controller.drawLowerBuildingCard(username, pos);
|
||||||
case 5 -> controller.pickOptionalBuildingCard(username, pos);
|
case "5" -> controller.drawLowerTribeCard(username, pos);
|
||||||
case 6 -> controller.slotChoice(username, pos);
|
case "6" -> controller.pickOptionalTribeCard(username, pos);
|
||||||
|
case "7" -> controller.pickOptionalBuildingCard(username, pos);
|
||||||
|
case "8" -> controller.noOptionalCard(username);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -104,6 +104,16 @@ public class ClientController {
|
|||||||
client.doEvent(new PickOptionalBuildingCard(playerUsername,pos));
|
client.doEvent(new PickOptionalBuildingCard(playerUsername,pos));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Refuse to pick an optional building card for the specified player.
|
||||||
|
* @param playerUsername the username of the player performing the action.
|
||||||
|
* @return {@code true} if the action succeeds, {@code false} if the player does not exist
|
||||||
|
* or if the pick operation fails.
|
||||||
|
*/
|
||||||
|
public void noOptionalCard(String playerUsername) {
|
||||||
|
client.doEvent(new NoOptionalCard(playerUsername));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Attempts to perform the slot choice action for the specified player at the specified position.
|
* Attempts to perform the slot choice action for the specified player at the specified position.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -147,6 +147,18 @@ public class GameController {
|
|||||||
return false;
|
return false;
|
||||||
return model.PickOptionalBuildingCard(model.getPlayerByUsername(playerUsername), pos);
|
return model.PickOptionalBuildingCard(model.getPlayerByUsername(playerUsername), pos);
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Refuse to pick an optional building card for the specified player.
|
||||||
|
* @param playerUsername the username of the player performing the action.
|
||||||
|
* @return {@code true} if the action succeeds, {@code false} if the player does not exist
|
||||||
|
* or if the pick operation fails.
|
||||||
|
*/
|
||||||
|
public boolean noOptionalCard(String playerUsername) {
|
||||||
|
Player player= model.getPlayerByUsername(playerUsername);
|
||||||
|
if(player==null)
|
||||||
|
return false;
|
||||||
|
return model.NoOptionalCard(model.getPlayerByUsername(playerUsername));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Attempts to perform the slot choice action for the specified player at the specified position.
|
* Attempts to perform the slot choice action for the specified player at the specified position.
|
||||||
|
|||||||
@@ -8,5 +8,6 @@ public enum EventType {
|
|||||||
DRAW_UPPER_BUILD,
|
DRAW_UPPER_BUILD,
|
||||||
DRAW_LOWER_BUILD,
|
DRAW_LOWER_BUILD,
|
||||||
PICK_OPTIONAL_TRIBE,
|
PICK_OPTIONAL_TRIBE,
|
||||||
PICK_OPTIONAL_BUILD
|
PICK_OPTIONAL_BUILD,
|
||||||
|
NO_OPTIONAL_CARD
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,8 +29,4 @@ public class AddPlayer extends NetworkEvent implements Serializable {
|
|||||||
{
|
{
|
||||||
return gameController.addPlayer(username);
|
return gameController.addPlayer(username);
|
||||||
}
|
}
|
||||||
public String apply(IView gameController)
|
|
||||||
{
|
|
||||||
return gameController.toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,4 @@ public class DrawLowerBuildingCard extends NetworkEvent implements Serializable
|
|||||||
return gameController.drawLowerBuildingCard(username, pos);
|
return gameController.drawLowerBuildingCard(username, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO javadoc
|
|
||||||
public String apply(IView gameController){
|
|
||||||
return gameController.toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,8 +23,4 @@ public class DrawLowerTribeCard extends NetworkEvent implements Serializable{
|
|||||||
return gameController.drawLowerTribeCard(username, pos);
|
return gameController.drawLowerTribeCard(username, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO javadoc
|
|
||||||
public String apply(IView gameController){
|
|
||||||
return gameController.toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,4 @@ public class DrawUpperBuildingCard extends NetworkEvent implements Serializable
|
|||||||
return gameController.drawUpperBuildingCard(username, pos);
|
return gameController.drawUpperBuildingCard(username, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO javadoc
|
|
||||||
public String apply(IView gameController){
|
|
||||||
return gameController.toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,5 @@ public class DrawUpperTribeCard extends NetworkEvent implements Serializable{
|
|||||||
return gameController.drawUpperTribeCard(username, pos);
|
return gameController.drawUpperTribeCard(username, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO javadoc
|
|
||||||
public String apply(IView gameController){
|
|
||||||
return gameController.toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package it.polimi.ingsw.gc14.Network.NetworkEvents;
|
||||||
|
|
||||||
|
import it.polimi.ingsw.gc14.Controller.GameController;
|
||||||
|
import it.polimi.ingsw.gc14.Network.EventType;
|
||||||
|
import it.polimi.ingsw.gc14.Network.NetworkEvent;
|
||||||
|
import it.polimi.ingsw.gc14.View.IView;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
//TODO javadoc
|
||||||
|
public class NoOptionalCard extends NetworkEvent implements Serializable{
|
||||||
|
//TODO javadoc
|
||||||
|
public NoOptionalCard(String username){
|
||||||
|
super(username, EventType.NO_OPTIONAL_CARD, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO javadoc
|
||||||
|
@Override
|
||||||
|
public boolean apply(GameController gameController){
|
||||||
|
return gameController.noOptionalCard(username);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -23,9 +23,4 @@ public class PickOptionalBuildingCard extends NetworkEvent implements Serializa
|
|||||||
public boolean apply(GameController gameController){
|
public boolean apply(GameController gameController){
|
||||||
return gameController.pickOptionalBuildingCard(username, pos);
|
return gameController.pickOptionalBuildingCard(username, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO javadoc
|
|
||||||
public String apply(IView gameController){
|
|
||||||
return gameController.toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,8 +25,4 @@ public class PickOptionalTribeCard extends NetworkEvent implements Serializable
|
|||||||
return gameController.pickOptionalTribeCard(username, pos);
|
return gameController.pickOptionalTribeCard(username, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO javadoc
|
|
||||||
public String apply(IView gameController){
|
|
||||||
return gameController.toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,4 @@ public class SlotChoice extends NetworkEvent implements Serializable {
|
|||||||
return gameController.slotChoice(username, pos);
|
return gameController.slotChoice(username, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO javadoc
|
|
||||||
public String apply(IView gameController) {
|
|
||||||
return gameController.toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ public class AsciiTable {
|
|||||||
|
|
||||||
//TODO javadoc
|
//TODO javadoc
|
||||||
public void addHeader(String... cells) { rows.add(0, Arrays.asList(cells)); separators.add(0); }
|
public void addHeader(String... cells) { rows.add(0, Arrays.asList(cells)); separators.add(0); }
|
||||||
public void addSeparator() { separators.add(rows.size()-1); }
|
|
||||||
|
|
||||||
//TODO javadoc
|
//TODO javadoc
|
||||||
public void addSeparator() { separators.add(rows.size()-1); }
|
public void addSeparator() { separators.add(rows.size()-1); }
|
||||||
|
|||||||
Reference in New Issue
Block a user