Added: SkipUpper and Lower -> TUI,NETWORK

This commit is contained in:
rubenpirreram
2026-05-01 18:15:55 +02:00
parent d608aaf098
commit 09ee692f90
6 changed files with 77 additions and 17 deletions
@@ -72,7 +72,7 @@ public class ClientLauncherTUI {
private void getInput(Scanner scanner, ClientController controller, String username) {
String action = scanner.next();
int pos=-1;
if(!action.equals("8")&&!action.equals("A")&&!action.equals("B")&&!action.equals("C")&&!action.equals("D")) {
if(!action.equals("7")&&!action.equals("8")&&!action.equals("9")&&!action.equals("A")&&!action.equals("B")&&!action.equals("C")) {
try
{
System.out.println("Insert the required position:");
@@ -84,14 +84,16 @@ public class ClientLauncherTUI {
}
}
switch(action) {
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);
case "0" -> controller.slotChoice(username, pos);
case "1" -> controller.drawUpperBuildingCard(username, pos);
case "2" -> controller.drawUpperTribeCard(username, pos);
case "3" -> controller.drawLowerBuildingCard(username, pos);
case "4" -> controller.drawLowerTribeCard(username, pos);
case "5" -> controller.pickOptionalTribeCard(username, pos);
case "6" -> controller.pickOptionalBuildingCard(username, pos);
case "7" -> controller.noOptionalCard(username);
case "8" -> controller.skipUpper(username);
case "9" -> controller.skipLower(username);
case "A" -> view.fullRender();
case "B" -> view.renderBoard();
case "C" -> view.renderPlayer();
@@ -80,6 +80,13 @@ public class ClientController {
client.doEvent(new DrawLowerBuildingCard(playerUsername,pos));
}
public void skipUpper(String playerUsername) {
client.doEvent(new SkipUpper(playerUsername));
}
public void skipLower(String playerUsername) { client.doEvent(new SkipLower(playerUsername));}
/**
* Attempts to pick an optional tribe card for the specified player from the specified position.
*
@@ -9,5 +9,7 @@ public enum EventType {
DRAW_LOWER_BUILD,
PICK_OPTIONAL_TRIBE,
PICK_OPTIONAL_BUILD,
SKIP_UPPER,
SKIP_LOWER,
NO_OPTIONAL_CARD
}
@@ -0,0 +1,23 @@
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 SkipLower extends NetworkEvent implements Serializable{
//TODO javadoc
public SkipLower(String username){
super(username, EventType.SKIP_LOWER, false);
}
//TODO javadoc
@Override
public boolean apply(GameController gameController){
return gameController.SkipLowerDrawing(username);
}
}
@@ -0,0 +1,24 @@
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 SkipUpper extends NetworkEvent implements Serializable{
//TODO javadoc
public SkipUpper(String username){
super(username, EventType.SKIP_UPPER, false);
}
//TODO javadoc
@Override
public boolean apply(GameController gameController){
return gameController.SkipUpperDrawing(username);
}
}
@@ -100,14 +100,16 @@ public class TUI implements IView {
{
var table=new AsciiTable(BorderStyle.ROUNDED,2);
table.addHeader( "Menu Options","Render Options");
table.addRow( List.of("1-SlotChoice(pos)","A-Full Render"));
table.addRow(List.of("2-DrawUpperTribe(pos)","B-Board Render"));
table.addRow(List.of("3-DrawUpperBuilding(pos)","C-Players Render"));
table.addRow(List.of("4-DrawLowerTribe(pos)",""));
table.addRow(List.of("5-DrawLowerBuilding(pos)",""));
table.addRow(List.of("6-PickOptionalTribe(pos)",""));
table.addRow(List.of("7-PickOptionalBuilding(pos)",""));
table.addRow(List.of("8-NoOptional",""));
table.addRow( List.of("0-SlotChoice(pos)","A-Full Render"));
table.addRow(List.of("1-DrawUpperTribe(pos)","B-Board Render"));
table.addRow(List.of("2-DrawUpperBuilding(pos)","C-Players Render"));
table.addRow(List.of("3-DrawLowerTribe(pos)",""));
table.addRow(List.of("4-DrawLowerBuilding(pos)",""));
table.addRow(List.of("5-PickOptionalTribe(pos)",""));
table.addRow(List.of("6-PickOptionalBuilding(pos)",""));
table.addRow(List.of("7-NoOptional",""));
table.addRow(List.of("8-NoUpperCard",""));
table.addRow(List.of("9-NoLowerCard",""));
return table.build();
}