added return for humanvote to know when the game ends

This commit is contained in:
Seraina 2022-04-08 20:52:36 +02:00
parent b297c9edda
commit f878bee40d

View File

@ -104,10 +104,11 @@ public class VoteHandler {
* ghosts are waiting. Votes are being collected, vote results are being handled in three possible * ghosts are waiting. Votes are being collected, vote results are being handled in three possible
* ways: if passenger who was voted for is a human, continue with next ghost vote; if it's a * ways: if passenger who was voted for is a human, continue with next ghost vote; if it's a
* normal ghost, kick him off; if it's the OG ghost, end game, humans win. * normal ghost, kick him off; if it's the OG ghost, end game, humans win.
* * @return Returns an empty String by default, returns a complex string when game is over:
* "Game over: ghosts win!" or "Game over: humans win!"
* @param passengers: train passengers * @param passengers: train passengers
*/ */
public void humanVote(Passenger[] passengers, Game game) { public String humanVote(Passenger[] passengers, Game game) {
// array to collect votes for all players during voting, i.e. votes for player 1 are saved in // array to collect votes for all players during voting, i.e. votes for player 1 are saved in
@ -163,6 +164,7 @@ public class VoteHandler {
if (passengers[voteIndex].getIsGhost()) { // if player is a ghost if (passengers[voteIndex].getIsGhost()) { // if player is a ghost
if (passengers[voteIndex].getIsOG()) { // if ghost is OG --> end game, humans win if (passengers[voteIndex].getIsOG()) { // if ghost is OG --> end game, humans win
System.out.println("Game over: humans win!"); // TODO: correctly handle end of game System.out.println("Game over: humans win!"); // TODO: correctly handle end of game
return "Game over: humans win!";
} else { } else {
/* Special case: if ghost is not OG and if only one human is left (--> last human didn't vote for OG ghost), /* Special case: if ghost is not OG and if only one human is left (--> last human didn't vote for OG ghost),
ghosts win. ghosts win.
@ -175,6 +177,7 @@ public class VoteHandler {
} }
if (humans == 1) { if (humans == 1) {
System.out.println("Game over: ghosts win!"); System.out.println("Game over: ghosts win!");
return "Game over: ghosts win!";
} }
// Usual case: there is more than one human left and a normal ghost has been voted for --> // Usual case: there is more than one human left and a normal ghost has been voted for -->
// kick this ghost off // kick this ghost off
@ -188,6 +191,7 @@ public class VoteHandler {
for (Passenger passenger : passengers) { for (Passenger passenger : passengers) {
passenger.setHasVoted(false); passenger.setHasVoted(false);
} }
return "";
} }
/** /**