Fixed some quirks with the YourRole checking, now the full Wagon should appear at the right time

This commit is contained in:
Seraina 2022-05-14 15:23:49 +02:00
parent c3683a1083
commit 84ed547372
6 changed files with 26 additions and 9 deletions

View File

@ -5,3 +5,4 @@ Jonas of Istanbul
serai serai
serai serai
serai serai
serai

View File

@ -371,6 +371,7 @@ public class Client {
//TODO //TODO
break; break;
case GuiParameters.VoteIsOver: case GuiParameters.VoteIsOver:
chatApp.getGameController().setNoiseButtonInvisible();
chatApp.getGameController().clearAllNoiseDisplay(); chatApp.getGameController().clearAllNoiseDisplay();
break; break;
case GuiParameters.getMembersInLobby: case GuiParameters.getMembersInLobby:

View File

@ -50,6 +50,7 @@ public class JClientProtocolParser {
break; break;
case Protocol.serverConfirmQuit: case Protocol.serverConfirmQuit:
c.disconnectFromServer(); c.disconnectFromServer();
c.getGameStateModel().setGameOver(true);
break; break;
case Protocol.serverRequestsGhostVote: case Protocol.serverRequestsGhostVote:
LOGGER.debug("Ghost received Vote request"); LOGGER.debug("Ghost received Vote request");

View File

@ -26,16 +26,24 @@ public class DayNightChangeListener implements Runnable {
while(!gameStateModel.isGameOver()) { while(!gameStateModel.isGameOver()) {
if(gameStateModel.getDayClone()) { //its Day if(gameStateModel.getDayClone()) { //its Day
LoungeSceneViewController.getTrainAnimationDayController().dontShowFullWagon(); LoungeSceneViewController.getTrainAnimationDayController().dontShowFullWagon();
Sprites.setDaySprites(gameStateModel.getPassengerTrainClone()[1], GameController.getGameStateModel().getKickedOff()); Sprites.setDaySprites(gameStateModel.getPassengerTrainClone()[1],
chatApp.getGameController().updateGameSprites(LoungeSceneViewController.getTrainAnimationDayController()); GameController.getGameStateModel().getKickedOff());
chatApp.getGameController()
.updateGameSprites(LoungeSceneViewController.getTrainAnimationDayController());
chatApp.getGameController().setNoiseButtonVisible(); chatApp.getGameController().setNoiseButtonVisible();
chatApp.getGameController().setVoteButtonVisibilityDay(gameStateModel); chatApp.getGameController().setVoteButtonVisibilityDay(gameStateModel);
} else { //its night } else { //its night
if (gameStateModel.getYourRole().equals("h")) { try {
LoungeSceneViewController.getTrainAnimationDayController().showFullWagon(); if (gameStateModel.getYourRoleFromPosition(position).equals("")) {
LoungeSceneViewController.getTrainAnimationDayController().showFullWagon();
}
} catch (Exception e) {
e.getMessage();
} }
Sprites.setNightSprites(gameStateModel.getPassengerTrainClone()[1], GameController.getGameStateModel().getKickedOff()); Sprites.setNightSprites(gameStateModel.getPassengerTrainClone()[1],
chatApp.getGameController().updateGameSprites(LoungeSceneViewController.getTrainAnimationDayController()); GameController.getGameStateModel().getKickedOff());
chatApp.getGameController()
.updateGameSprites(LoungeSceneViewController.getTrainAnimationDayController());
chatApp.getGameController().setNoiseButtonInvisible(); chatApp.getGameController().setNoiseButtonInvisible();
chatApp.getGameController().setVoteButtonVisibilityNight(gameStateModel); chatApp.getGameController().setVoteButtonVisibilityNight(gameStateModel);
} }

View File

@ -30,6 +30,8 @@ public class GameStateModel {
*/ */
private String yourRole; //TODO: Maybe add a GUI field to show this in private String yourRole; //TODO: Maybe add a GUI field to show this in
private int yourPosition;
/** /**
* A primitive clone of the passengerTrain in the GameState of the server. * A primitive clone of the passengerTrain in the GameState of the server.
* in passengerTrainClone[0] the names of the passengers are stored, in passengerTrainClone[1] the roles * in passengerTrainClone[0] the names of the passengers are stored, in passengerTrainClone[1] the roles
@ -98,6 +100,10 @@ public class GameStateModel {
return yourRole; return yourRole;
} }
public String getYourRoleFromPosition(int position) {
return passengerTrainClone[1][position];
}
public int getNrOfPlayers() { public int getNrOfPlayers() {
return nrOfPlayers; return nrOfPlayers;
} }

View File

@ -165,7 +165,7 @@ public class GameController implements Initializable {
@Override @Override
public void run() { public void run() {
LOGGER.debug(buttonRoom0); LOGGER.debug(buttonRoom0);
if (g.getYourRole().equals("h")) { if (g.getYourRoleFromPosition(client.getClient().getPosition()).equals("")) { //human
try { try {
buttonRoom0.setVisible(true); buttonRoom0.setVisible(true);
buttonRoom1.setVisible(true); buttonRoom1.setVisible(true);
@ -177,7 +177,7 @@ public class GameController implements Initializable {
e.printStackTrace(); e.printStackTrace();
} }
} else { } else { //ghost
try { try {
buttonRoom0.setVisible(false); buttonRoom0.setVisible(false);
buttonRoom1.setVisible(false); buttonRoom1.setVisible(false);
@ -198,7 +198,7 @@ public class GameController implements Initializable {
@Override @Override
public void run() { public void run() {
LOGGER.debug(buttonRoom0); LOGGER.debug(buttonRoom0);
if (g.getYourRole().equals("g")) { if (g.getYourRoleFromPosition(client.getClient().getPosition()).equals("g")) {//ghost
try { try {
buttonRoom0.setVisible(true); buttonRoom0.setVisible(true);
buttonRoom1.setVisible(true); buttonRoom1.setVisible(true);