From 09ee692f900900c0e8ce2ea02ac1c54d54c86c68 Mon Sep 17 00:00:00 2001 From: rubenpirreram Date: Fri, 1 May 2026 18:15:55 +0200 Subject: [PATCH] Added: SkipUpper and Lower -> TUI,NETWORK --- .../polimi/ingsw/gc14/ClientLauncherTUI.java | 20 +++++++++------- .../gc14/Controller/ClientController.java | 7 ++++++ .../polimi/ingsw/gc14/Network/EventType.java | 2 ++ .../gc14/Network/NetworkEvents/SkipLower.java | 23 ++++++++++++++++++ .../gc14/Network/NetworkEvents/SkipUpper.java | 24 +++++++++++++++++++ .../it/polimi/ingsw/gc14/View/TUI/TUI.java | 18 +++++++------- 6 files changed, 77 insertions(+), 17 deletions(-) create mode 100644 src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipLower.java create mode 100644 src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipUpper.java diff --git a/src/main/java/it/polimi/ingsw/gc14/ClientLauncherTUI.java b/src/main/java/it/polimi/ingsw/gc14/ClientLauncherTUI.java index 06d0fdf..6d2d854 100644 --- a/src/main/java/it/polimi/ingsw/gc14/ClientLauncherTUI.java +++ b/src/main/java/it/polimi/ingsw/gc14/ClientLauncherTUI.java @@ -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(); diff --git a/src/main/java/it/polimi/ingsw/gc14/Controller/ClientController.java b/src/main/java/it/polimi/ingsw/gc14/Controller/ClientController.java index 1b96cd4..c6b64bf 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Controller/ClientController.java +++ b/src/main/java/it/polimi/ingsw/gc14/Controller/ClientController.java @@ -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. * diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/EventType.java b/src/main/java/it/polimi/ingsw/gc14/Network/EventType.java index 0f8f03c..33d5efb 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/EventType.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/EventType.java @@ -9,5 +9,7 @@ public enum EventType { DRAW_LOWER_BUILD, PICK_OPTIONAL_TRIBE, PICK_OPTIONAL_BUILD, + SKIP_UPPER, + SKIP_LOWER, NO_OPTIONAL_CARD } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipLower.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipLower.java new file mode 100644 index 0000000..e962398 --- /dev/null +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipLower.java @@ -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); + } + +} diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipUpper.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipUpper.java new file mode 100644 index 0000000..3faee82 --- /dev/null +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipUpper.java @@ -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); + } + +} diff --git a/src/main/java/it/polimi/ingsw/gc14/View/TUI/TUI.java b/src/main/java/it/polimi/ingsw/gc14/View/TUI/TUI.java index 1b0ca3f..e97f1ad 100644 --- a/src/main/java/it/polimi/ingsw/gc14/View/TUI/TUI.java +++ b/src/main/java/it/polimi/ingsw/gc14/View/TUI/TUI.java @@ -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(); }