fix: Jumping infinitely deals damage

This commit is contained in:
2025-09-24 21:14:07 +02:00
parent c6cc5faba2
commit 579bc05538
3 changed files with 10 additions and 5 deletions

View File

@ -169,12 +169,19 @@ public class Game {
update(screenRenderer);
}
private boolean playerMovingUp = false;
/**
* Moves the player upward by one block, if jumping is valid.
*
* @param screenRenderer the renderer used to refresh the screen.
*/
public void movePlayerUp(ScreenRenderer screenRenderer) {
if (playerMovingUp) {
return;
}
playerMovingUp = true;
if (window != Window.WORLD) {
return;
}
@ -191,6 +198,8 @@ public class Game {
stats.setBlocksTraveled(stats.getBlocksTraveled() + 1);
screenRenderer.render(this);
new Thread(() -> {
try {
Thread.sleep(400);
@ -199,6 +208,7 @@ public class Game {
}
update(screenRenderer);
playerMovingUp = false;
}).start();
}

View File

@ -1,4 +0,0 @@
package cz.jzitnik.game.logic.services.burning;
public class MobsBurning {
}

View File

@ -88,7 +88,6 @@ public class InputHandlerThread extends Thread {
case 'd' -> new Thread(() -> game.movePlayerRight(screenRenderer, terminal)).start();
case ' ' ->{
game.movePlayerUp(screenRenderer);
screenRenderer.render(game);
}
case 'e' -> {
if (game.getWindow() != Window.WORLD) {