/** Checks collisions and performs the action */ private void checkCollision() { for (Obstacle o : obstacles) { if (o.isColliding(player)) { o.onCollision(); gameOver(); } } for (int i = 0; i < powerUps.size(); i++) { if (this.powerUps.get(i).isColliding(player)) { this.powerUps.get(i).onCollision(); this.powerUps.remove(i); i--; } } if (player.isTouchingEdge()) { gameOver(); } }