@Override public void update(GameContainer container, int arg1) throws SlickException { input = container.getInput(); if (input.isKeyPressed(Input.KEY_ENTER)) { GameStart = true; } if (!player.GameOver && GameStart) { invul_frame -= 1; trap.update(v); for (int x = 0; x < 4; x++) { for (int y = 0; y < 3; y++) { walls[x][y].update(v); } } input = container.getInput(); player.update(); if (input.isKeyPressed(Input.KEY_SPACE)) { player.jump(); } if (isCollide(player, trap, invul_frame)) { player.HIT(); ; invul_frame = 30; } if (trap.getX() <= -100) { randomTrap(); } } input = container.getInput(); if (player.GameOver && input.isKeyPressed(Input.KEY_R)) { GameStart = false; container.reinit(); } }
public boolean isCollide(Runner player, BasicTrap trap, float invul) throws SlickException { float deltaX = (player.getSizeX() + trap.getSizeX()) / 2; float deltaY = (player.getSizeY() + trap.getSizeY()) / 2; if (Math.abs(player.getX() - trap.getX()) <= deltaX && Math.abs(player.getY() - trap.getY()) <= deltaY && invul <= 0) { return true; } return false; }