Merge branch 'main' of https://github.com/rubenpirreram/ing-sw-2026-pirrera-radice-pagani-pellegrino
This commit is contained in:
@@ -192,7 +192,7 @@ public class ClientLauncherTUI {
|
||||
System.out.println("Errore: " + err);
|
||||
return false;
|
||||
}
|
||||
System.out.println("Connected via RMI.");
|
||||
System.out.println("Connected via RMI, waiting for other players...");
|
||||
controller.setClient(client);
|
||||
|
||||
} else if (networkStr.equals("tcp")) {
|
||||
@@ -204,7 +204,7 @@ public class ClientLauncherTUI {
|
||||
System.out.println("Errore: " + err);
|
||||
return false;
|
||||
}
|
||||
System.out.println("Connected via TCP.");
|
||||
System.out.println("Connected via TCP, waiting for other players...");
|
||||
controller.setClient(client);
|
||||
|
||||
} else {
|
||||
|
||||
@@ -20,7 +20,7 @@ public class Player implements Serializable {
|
||||
/**
|
||||
* The maximum length allowed for the username string.
|
||||
*/
|
||||
private static final int MAX_USERNAME_LENGTH = 32;
|
||||
private static final int MAX_USERNAME_LENGTH = 10;
|
||||
|
||||
/**
|
||||
* Identifier for the {@code Player} when displaying the game through the GUI.
|
||||
|
||||
@@ -93,7 +93,7 @@ public class RMIServer extends UnicastRemoteObject implements IGameServer {
|
||||
|
||||
synchronized (controller) {
|
||||
|
||||
if (playerList.isEmpty() && controller.getModel()==null) {
|
||||
if (playerList.isEmpty() &&(controller.getModel()==null || controller.getModel().getCurrentState().getGameStage().equals(GameStages.WAITING))) {
|
||||
controller.setModel(new Game(preferredInt));
|
||||
playerList.setLimit(preferredInt);
|
||||
System.out.println("Game Created With :"+preferredInt+" Players");
|
||||
|
||||
@@ -160,7 +160,7 @@ public class TCPServer {
|
||||
synchronized (controller) {
|
||||
String username = eventAddPlayer.getUsername();
|
||||
//reconnect players after a server crash
|
||||
if (playerList.isEmpty()&& controller.getModel()==null) {
|
||||
if (playerList.isEmpty() &&(controller.getModel()==null || controller.getModel().getCurrentState().getGameStage().equals(GameStages.WAITING))) {
|
||||
Game model = new Game(eventAddPlayer.getProposedNPlayer());
|
||||
controller.setModel(model);
|
||||
playerList.setLimit(eventAddPlayer.getProposedNPlayer());
|
||||
|
||||
@@ -558,8 +558,13 @@ public class MainFXMLController {
|
||||
int i = 0;
|
||||
for (TribeCard card : controller.getMiniModel().upperListTribeCards) {
|
||||
final int index = i;
|
||||
StackPane img = createCard(card, true, true, upperList);
|
||||
img.setOnMouseClicked(e -> controller.drawUpperTribeCard(index));
|
||||
StackPane img;
|
||||
if(!card.isEventCard()) {
|
||||
img = createCard(card, true, true, upperList);
|
||||
img.setOnMouseClicked(e -> controller.drawUpperTribeCard(index));
|
||||
} else {
|
||||
img = createCard(card, false, false, upperList);
|
||||
}
|
||||
upperList.getChildren().add(img);
|
||||
i++;
|
||||
}
|
||||
@@ -575,8 +580,13 @@ public class MainFXMLController {
|
||||
int i = 0;
|
||||
for (TribeCard card : controller.getMiniModel().lowerListTribeCards) {
|
||||
final int index = i;
|
||||
StackPane img = createCard(card, true, true, lowerList);
|
||||
img.setOnMouseClicked(e -> controller.drawLowerTribeCard(index));
|
||||
StackPane img;
|
||||
if(!card.isEventCard()) {
|
||||
img = createCard(card, true, true, lowerList);
|
||||
img.setOnMouseClicked(e -> controller.drawLowerTribeCard(index));
|
||||
} else {
|
||||
img = createCard(card, false, false, lowerList);
|
||||
}
|
||||
lowerList.getChildren().add(img);
|
||||
i++;
|
||||
}
|
||||
@@ -619,8 +629,6 @@ public class MainFXMLController {
|
||||
back.fitHeightProperty().bind(board.sceneProperty().get().heightProperty().subtract(56).divide(4).multiply(0.94));
|
||||
back.setPreserveRatio(true);
|
||||
addClip(back);
|
||||
addShadow(back);
|
||||
addHoverZoom(back);
|
||||
board.getChildren().add(back);
|
||||
}
|
||||
|
||||
|
||||
@@ -90,6 +90,7 @@ public class TUI implements IView {
|
||||
GameStages stage = model.currentState.getGameStage();
|
||||
if (stage == GameStages.TOTEM_CHOICE) {
|
||||
display(buildTotemsContent());
|
||||
printLine("Type: totem <pos>");
|
||||
} else if (stage == GameStages.ENDED) {
|
||||
display(buildStandingContent());
|
||||
printLine("Type 'rematch' to play again or 'quit' to exit");
|
||||
@@ -184,7 +185,7 @@ public class TUI implements IView {
|
||||
String current = model.currentState.getCurrentPlayer() != null
|
||||
? model.currentState.getCurrentPlayer().getUserName() + " — "
|
||||
: "";
|
||||
return current + "TOTEMS AVAILABLE:\n" + table.build() + "\nType: totem <pos>";
|
||||
return current + "TOTEMS AVAILABLE:\n" + table.build();
|
||||
}
|
||||
|
||||
private String buildStandingContent() {
|
||||
|
||||
Reference in New Issue
Block a user