@Override
    public void tick(LinkedList<GameObject> lstObj) {
        super.tick();
        if (this.isAlive()) {
            velX = Math.signum(velX) * 3;
            walkLeft.runAnimation();
            walkRight.runAnimation();
            for (GameObject tmpObj : lstObj) {
                if (this != tmpObj) {
                    if (getBounds().intersects(tmpObj.getBounds())) {
                        if (tmpObj.getId() == ObjectId.Dirt ||
                                tmpObj.getId() == ObjectId.Grass ||
                                tmpObj.getId() == ObjectId.Stone ||
                                tmpObj.getId() == ObjectId.Ice || 
                                tmpObj.getId() == ObjectId.Mob) {
                            velX = -velX;
                        }   
                    }
                }
            }
        } else {
            lstObj.remove(this);
        }
    }