/**
 * 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 {
        setVitesse(100);
        setX(11);
				final int LONG_COULOIR = 5;
        int cptBiscuits = 0;

        do{
            cptBiscuits = 0;
            for(int step=0; step<LONG_COULOIR; step++){
                avance();
                if(isSurBiscuit())
                    cptBiscuits++;
            }

            if (cptBiscuits >= 3) {
                gauche();
                message(cptBiscuits + " biscuits ==> à gauche");
                if(isFaceMur()) {
                    message("   oops ! Bon alors tout droit...");
                    droite();
                    if(isFaceMur()){
                        message("   Re-oops ! finalement ce sera à droite...");
                        droite();
                    }
                }
            } else {
                droite();
                message(cptBiscuits + " biscuits ==> à droite");
                if(isFaceMur()) {
                    message("   oops ! Bon alors tout droit...");
                    gauche();
                    if(isFaceMur()) {
                        message("   Re-oops ! finalement ce sera à gauche...");
                        gauche();
                    }
                }
            }
        }while(!isSortieTrouvee());
        avance();
        message("Youpi !");
    }

    public boolean isSortieTrouvee(){
        return getCouleurSol().equals(StdDraw.ORANGE);
    }
}
