fix: Jumping infinitely deals damage
This commit is contained in:
@ -169,12 +169,19 @@ public class Game {
|
|||||||
update(screenRenderer);
|
update(screenRenderer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean playerMovingUp = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Moves the player upward by one block, if jumping is valid.
|
* Moves the player upward by one block, if jumping is valid.
|
||||||
*
|
*
|
||||||
* @param screenRenderer the renderer used to refresh the screen.
|
* @param screenRenderer the renderer used to refresh the screen.
|
||||||
*/
|
*/
|
||||||
public void movePlayerUp(ScreenRenderer screenRenderer) {
|
public void movePlayerUp(ScreenRenderer screenRenderer) {
|
||||||
|
if (playerMovingUp) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
playerMovingUp = true;
|
||||||
if (window != Window.WORLD) {
|
if (window != Window.WORLD) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -191,6 +198,8 @@ public class Game {
|
|||||||
|
|
||||||
stats.setBlocksTraveled(stats.getBlocksTraveled() + 1);
|
stats.setBlocksTraveled(stats.getBlocksTraveled() + 1);
|
||||||
|
|
||||||
|
screenRenderer.render(this);
|
||||||
|
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
try {
|
try {
|
||||||
Thread.sleep(400);
|
Thread.sleep(400);
|
||||||
@ -199,6 +208,7 @@ public class Game {
|
|||||||
}
|
}
|
||||||
|
|
||||||
update(screenRenderer);
|
update(screenRenderer);
|
||||||
|
playerMovingUp = false;
|
||||||
}).start();
|
}).start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
package cz.jzitnik.game.logic.services.burning;
|
|
||||||
|
|
||||||
public class MobsBurning {
|
|
||||||
}
|
|
@ -88,7 +88,6 @@ public class InputHandlerThread extends Thread {
|
|||||||
case 'd' -> new Thread(() -> game.movePlayerRight(screenRenderer, terminal)).start();
|
case 'd' -> new Thread(() -> game.movePlayerRight(screenRenderer, terminal)).start();
|
||||||
case ' ' ->{
|
case ' ' ->{
|
||||||
game.movePlayerUp(screenRenderer);
|
game.movePlayerUp(screenRenderer);
|
||||||
screenRenderer.render(game);
|
|
||||||
}
|
}
|
||||||
case 'e' -> {
|
case 'e' -> {
|
||||||
if (game.getWindow() != Window.WORLD) {
|
if (game.getWindow() != Window.WORLD) {
|
||||||
|
Reference in New Issue
Block a user