/**
 * Created by zulupero on 20/06/16.
 */
public class Bug extends Buggle {
    public Bug(int posx, int posy, int dir) {
        super(posx, posy, dir);
    }

    public void enRoute() throws InterruptedException {
        final int NB_BISCUITS_A_PRENDRE = 4;
        final int POINTS_VIE_DEPART = 9;
        setVitesse(6);
        int nbPasFaits = 0;
        int nbBiscuitsPris = 0;
        int ptVie = POINTS_VIE_DEPART;

        /*solution semblable à l'exo précédent, avec des break*/
        while( (nbBiscuitsPris < NB_BISCUITS_A_PRENDRE) && !isFaceMur() && ptVie>0 ){
            if (isSurBiscuit()) {
                prendBiscuit();
                nbBiscuitsPris++;
                if(getCouleurSol() == StdDraw.YELLOW)
                    ptVie -= 2;   // je ramasse un biscuit sur case jaune = ça coute cher
            } else if (getCouleurSol().equals(StdDraw.YELLOW))
                ptVie--;          // je passe sur une case jaune sans biscuit = ça coute un peu moins
						avance();
						nbPasFaits++;
        }

        if (ptVie>0) {           // si j'ai encore un souffle de vie
            retourne();          // je rentre (les braises sont froides)
            for(int i=0; i<nbPasFaits; i++)
                avance();
        } else {
            baisseBrosse();      // sinon je meurs sur place
            setCouleur(StdDraw.BLACK);
            droite();
        }

    }
}
