private void checkItemCollisions() {
    int len = coins.size();
    for (int i = 0; i < len; i++) {
      Coin coin = coins.get(i);
      if (local_bob.bounds.overlaps(coin.bounds)) {
        coins.remove(coin);
        len = coins.size();
        listener.coin();
        score += Coin.COIN_SCORE;
      }
    }

    if (local_bob.velocity.y > 0) return;

    len = springs.size();
    for (int i = 0; i < len; i++) {
      Spring spring = springs.get(i);
      if (local_bob.position.y > spring.position.y) {
        if (local_bob.bounds.overlaps(spring.bounds)) {
          local_bob.hitSpring();
          listener.highJump();
        }
      }
    }
  }
Exemplo n.º 2
0
  private void checkCollisions() {
    if (mainElectron.position.x - mainElectron.radius <= 0
        || mainElectron.position.x + mainElectron.radius >= WORLD_WIDTH) {
      // collision with the shields of the capacitor
      state = State.GAME_END;
      listener.gameEnded();
    }

    // Check collisions with obstacles
    for (Obstacle obs : obstacles) {
      if (obs.collidesWith(mainElectron.bounds)) {
        state = State.GAME_END;
        listener.gameEnded();
      }
    }
  }
 private void checkSquirrelCollisions() {
   int len = squirrels.size();
   for (int i = 0; i < len; i++) {
     Squirrel squirrel = squirrels.get(i);
     if (squirrel.bounds.overlaps(local_bob.bounds)) {
       local_bob.hitSquirrel();
       listener.hit();
     }
   }
 }
  private void checkPlatformCollisions() {
    if (local_bob.velocity.y > 0) return;

    int len = platforms.size();
    for (int i = 0; i < len; i++) {
      Platform platform = platforms.get(i);
      if (local_bob.position.y > platform.position.y) {
        if (local_bob.bounds.overlaps(platform.bounds)) {
          local_bob.hitPlatform();
          listener.jump();
          if (rand.nextFloat() > 0.5f) {
            platform.pulverize();
          }
          break;
        }
      }
    }
  }