public void checkPlayerCollision(Player player,
        boolean canKill)
    {
        if (!player.isAlive()) {
            return;
        }

        // check for player collision with other sprites
        Sprite collisionSprite = getSpriteCollision(player);
        if (collisionSprite instanceof PowerUp) {
            acquirePowerUp((PowerUp)collisionSprite);
        }
        else if (collisionSprite instanceof Creature) {
            Creature badguy = (Creature)collisionSprite;
            if (canKill) {
                // kill the badguy and make enemy explode
                soundManager.play(explosionSound);
                badguy.setState(Creature.STATE_DYING);
                player.setY(badguy.getY() - player.getHeight());
            }
            else {
            	if (player.hasShield()) {
            		soundManager.play(explosionSound);
                    badguy.setState(Creature.STATE_DYING);
                    player.lostShield();
            	} else {
            		// player dies!
            		player.setState(Player.STATE_DYING);
            		Pause.kills = 0;
            		Pause.lives--;
            		player.setLives(Pause.lives);
            		soundManager.play(explosionSound);
            	}
            }
        } else if (collisionSprite instanceof Creature) {
        	
        }
    }