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) {
|
||||
int action = scanner.nextInt();
|
||||
int pos = scanner.nextInt();
|
||||
|
||||
String action = scanner.next();
|
||||
int pos=-1;
|
||||
if(!action.equals("8")) {
|
||||
try
|
||||
{
|
||||
pos = scanner.nextInt();
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
System.out.println("ERROR: Invalid input(expected number)");
|
||||
}
|
||||
}
|
||||
switch(action) {
|
||||
case 1 -> controller.drawLowerBuildingCard(username, pos);
|
||||
case 2 -> controller.drawLowerTribeCard(username, pos);
|
||||
case 3 -> controller.drawUpperBuildingCard(username, pos);
|
||||
case 4 -> controller.drawUpperTribeCard(username, pos);
|
||||
case 5 -> controller.pickOptionalBuildingCard(username, pos);
|
||||
case 6 -> controller.slotChoice(username, pos);
|
||||
case "1" -> controller.slotChoice(username, pos);
|
||||
case "2" -> controller.drawUpperBuildingCard(username, pos);
|
||||
case "3" -> controller.drawUpperTribeCard(username, pos);
|
||||
case "4" -> controller.drawLowerBuildingCard(username, pos);
|
||||
case "5" -> controller.drawLowerTribeCard(username, pos);
|
||||
case "6" -> controller.pickOptionalTribeCard(username, pos);
|
||||
case "7" -> controller.pickOptionalBuildingCard(username, pos);
|
||||
case "8" -> controller.noOptionalCard(username);
|
||||
}
|
||||
|
||||
return;
|
||||
|
||||
@@ -104,6 +104,16 @@ public class ClientController {
|
||||
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.
|
||||
*
|
||||
|
||||
@@ -147,6 +147,18 @@ public class GameController {
|
||||
return false;
|
||||
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.
|
||||
|
||||
@@ -8,5 +8,6 @@ public enum EventType {
|
||||
DRAW_UPPER_BUILD,
|
||||
DRAW_LOWER_BUILD,
|
||||
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);
|
||||
}
|
||||
public String apply(IView gameController)
|
||||
{
|
||||
return gameController.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,8 +24,4 @@ public class DrawLowerBuildingCard extends NetworkEvent implements Serializable
|
||||
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);
|
||||
}
|
||||
|
||||
//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);
|
||||
}
|
||||
|
||||
//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);
|
||||
}
|
||||
|
||||
//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){
|
||||
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);
|
||||
}
|
||||
|
||||
//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);
|
||||
}
|
||||
|
||||
//TODO javadoc
|
||||
public String apply(IView gameController) {
|
||||
return gameController.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,6 @@ public class AsciiTable {
|
||||
|
||||
//TODO javadoc
|
||||
public void addHeader(String... cells) { rows.add(0, Arrays.asList(cells)); separators.add(0); }
|
||||
public void addSeparator() { separators.add(rows.size()-1); }
|
||||
|
||||
//TODO javadoc
|
||||
public void addSeparator() { separators.add(rows.size()-1); }
|
||||
|
||||
Reference in New Issue
Block a user