removed countdown when no player left

This commit is contained in:
2024-11-04 15:04:09 +01:00
parent f85ebbbb5d
commit 55be88b7da
2 changed files with 21 additions and 10 deletions

View File

@ -69,6 +69,7 @@ class Tetris extends StatelessGame {
@Override
protected void onPlayerLeave(Player p) {
this.tetrisGames.get(p).sidebar.removeViewer(p);
this.letPlayerLoose(p);
}
@Override
@ -124,17 +125,27 @@ class Tetris extends StatelessGame {
}
protected void onPlayerTick(PlayerTickEvent event) {
TetrisGame tetrisGame = this.tetrisGames.get(event.getPlayer());
Player player = event.getPlayer();
TetrisGame tetrisGame = this.tetrisGames.get(player);
if(tetrisGame == null) return;
if(tetrisGame.lost && event.getPlayer().getGameMode() != GameMode.SPECTATOR) {
event.getPlayer().setGameMode(GameMode.SPECTATOR);
getScore().insertResult(event.getPlayer(), tetrisGame.getScore());
if(tetrisGame.lost && player.getGameMode() != GameMode.SPECTATOR) {
letPlayerLoose(player);
}
}
if(!setTimeLimit) {
this.setTimeLimit(90);
setTimeLimit = true;
new ChatMessage(Icon.SCIENCE).appendStatic("Noch 90 Sekunden!").send(getPlayers());
}
private void letPlayerLoose(Player player) {
TetrisGame tetrisGame = this.tetrisGames.get(player);
player.setGameMode(GameMode.SPECTATOR);
getScore().insertResult(player, tetrisGame.getScore());
boolean allGamesLost = this.tetrisGames.values().stream()
.filter(tetrisGame1 -> !tetrisGame1.lost)
.toList()
.isEmpty();
if(!setTimeLimit && !allGamesLost) {
this.setTimeLimit(90);
setTimeLimit = true;
new ChatMessage(Icon.SCIENCE).appendStatic("Noch 90 Sekunden!").send(getPlayers());
}
}