/**
 * 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;
        setVitesse(4);
        int nbPasFaits = 0;
        int nbBiscuitsPris = 0;

        /* une solution utilisant le break*/
        while( (nbBiscuitsPris < NB_BISCUITS_A_PRENDRE)){ 
            if (isSurBiscuit()) { // si je vois un biscuit je prends
                prendBiscuit();
                nbBiscuitsPris++;
            }
            if (nbBiscuitsPris == NB_BISCUITS_A_PRENDRE){
                break;            // si j'ai mon quota, je quitte la boucle
            }
            if (!isFaceMur()) {
                avance();        // j'avance si je peux
                nbPasFaits++;
            } else {             // sinon je quitte la boucle
                break;
            }
        }
        retourne();              // et je rentre
        for(int i=0; i<nbPasFaits; i++)
            avance();
    }
}
