public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException { counter += delta; Input input = gc.getInput(); float fdelta = delta * Player.speed; Player.setpdelta(fdelta); double rightlimit = (grassMap.getWidth() * SIZE) - (SIZE * 0.75); // System.out.println("Right limit: " + rightlimit); float projectedright = Player.x + fdelta + SIZE; boolean cangoright = projectedright < rightlimit; // there are two types of fixes. A kludge and a hack. This is a kludge. if (input.isKeyDown(Input.KEY_UP)) { sprite = up; float fdsc = (float) (fdelta - (SIZE * .15)); if (!(isBlocked(Player.x, Player.y - fdelta) || isBlocked((float) (Player.x + SIZE + 1.5), Player.y - fdelta))) { sprite.update(delta); // The lower the delta the slower the sprite will animate. Player.y -= fdelta; } } else if (input.isKeyDown(Input.KEY_DOWN)) { sprite = down; if (!isBlocked(Player.x, Player.y + SIZE + fdelta) || !isBlocked(Player.x + SIZE - 1, Player.y + SIZE + fdelta)) { sprite.update(delta); Player.y += fdelta; } } else if (input.isKeyDown(Input.KEY_LEFT)) { sprite = left; if (!(isBlocked(Player.x - fdelta, Player.y) || isBlocked(Player.x - fdelta, Player.y + SIZE - 1))) { sprite.update(delta); Player.x -= fdelta; } } else if (input.isKeyDown(Input.KEY_RIGHT)) { sprite = right; // the boolean-kludge-implementation if (cangoright && (!(isBlocked(Player.x + SIZE + fdelta, Player.y) || isBlocked(Player.x + SIZE + fdelta, Player.y + SIZE - 1)))) { sprite.update(delta); Player.x += fdelta; } // else { System.out.println("Right limit reached: " + // rightlimit);} } Player.rect.setLocation(Player.getplayershitboxX(), Player.getplayershitboxY()); // for (Item i : stuff) { // // if (Player.rect.intersects(i.hitbox)) { // //System.out.println("yay"); // if (i.isvisible) { // Player.health += 10000; // i.isvisible = false; // } // } // } /*for (Ninja n : dojo) { if (Player.rect.intersects(n.hitbox)) { //System.out.println("yay"); if (n.isvisible) { Player.health += 10000; n.isvisible = false; } } } */ for (Bone b : doghouse) { if (Player.rect.intersects(b.hitbox)) { // System.out.println("yay"); if (b.isvisible) { Player.speed += .1f; b.isvisible = false; Player.Counter += 1; } } if (Player.Counter > 10) { Bone.Counter = false; sbg.enterState(3, new FadeOutTransition(Color.black), new FadeInTransition(Color.black)); } } /*for (Item1 h : stuff1) { if (Player.rect.intersects(h.hitbox)) { //System.out.println("yay"); if (h.isvisible) { Player.speed += .1f; h.isvisible = false; } } } */ // for (Itemwin w : stuffwin) { // if (Player.rect.intersects(w.hitbox)) { // //System.out.println("yay"); // if (w.isvisible) { // w.isvisible = false; // makevisible(); // sbg.enterState(3, new FadeOutTransition(Color.black), new FadeInTransition(Color.black)); // // } // // } // } for (Enemy e : bonez) { if (e.isAlive) { e.move(); } } for (Enemy e : bonez) { if (e.isAlive) { if (Player.rect.intersects(e.rect)) { Player.health = 0; e.isAlive = true; // once they touch the enemy player die } } } Player.health -= counter / 1000; if (Player.health <= 0) { makevisible(); sbg.enterState(2, new FadeOutTransition(Color.black), new FadeInTransition(Color.black)); } }
public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException { counter += delta; Input input = gc.getInput(); float fdelta = delta * Player.speed; Player.setpdelta(fdelta); double rightlimit = (forestMap.getWidth() * SIZE) - (SIZE * 0.75); // System.out.println("Right limit: " + rightlimit); float projectedright = Player.x + fdelta + SIZE; boolean cangoright = projectedright < rightlimit; // there are two types of fixes. A kludge and a hack. This is a kludge. if (input.isKeyDown(Input.KEY_UP)) { sprite = proup; float fdsc = (float) (fdelta - (SIZE * .15)); if (!(isBlocked(Player.x, Player.y - fdelta) || isBlocked((float) (Player.x + SIZE + 1.5), Player.y - fdelta))) { sprite.update(delta); // The lower the delta the slower the sprite will animate. Player.y -= fdelta; } } else if (input.isKeyDown(Input.KEY_DOWN)) { sprite = prodown; if (!isBlocked(Player.x, Player.y + SIZE + fdelta) || !isBlocked(Player.x + SIZE - 1, Player.y + SIZE + fdelta)) { sprite.update(delta); Player.y += fdelta; } } else if (input.isKeyDown(Input.KEY_LEFT)) { sprite = proleft; if (!(isBlocked(Player.x - fdelta, Player.y) || isBlocked(Player.x - fdelta, Player.y + SIZE - 1))) { sprite.update(delta); Player.x -= fdelta; } } else if (input.isKeyDown(Input.KEY_RIGHT)) { sprite = proright; // the boolean-kludge-implementation if (cangoright && (!(isBlocked(Player.x + SIZE + fdelta, Player.y) || isBlocked(Player.x + SIZE + fdelta, Player.y + SIZE - 1)))) { sprite.update(delta); Player.x += fdelta; } // else { System.out.println("Right limit reached: " + // rightlimit);} } Player.rect.setLocation(Player.getplayershitboxX(), Player.getplayershitboxY()); for (itemwin w : stuffwin) { if (Player.rect.intersects(w.hitbox)) { // System.out.println("yay"); if (w.isvisible) { w.isvisible = false; makevisible(); sbg.enterState(3, new FadeOutTransition(Color.black), new FadeInTransition(Color.black)); } } } for (Enemy m : monster) { if (Player.rect.intersects(m.ahitbox)) { // System.out.println("yay"); if (m.isvisible) { Player.health -= 1000; } } } Player.health = 1000; if (Player.health <= 0) { makevisible(); sbg.enterState(2, new FadeOutTransition(Color.black), new FadeInTransition(Color.black)); } }