iniciar-programa
define-nueva-instruccion gira(n) como
inicio
    repetir n veces gira-izquierda;
fin;

define-nueva-instruccion engano como
inicio
   gira(2);
   avanza;
   gira(1);
   repetir 2 veces avanza;
   si junto-a-zumbador entonces
   inicio
       gira(2);
       repetir 2 veces avanza;
       gira(3);
       avanza;
   fin
   sino
   inicio
       gira(2);
       repetir 2 veces avanza;
       gira(3);
       avanza;
       mientras junto-a-zumbador hacer coge-zumbador;
       si algun-zumbador-en-la-mochila entonces deja-zumbador;                              
       apagate;
   fin;

fin;

define-nueva-instruccion rastro como
inicio
    gira(2);
    avanza;
    gira(1);
    coge-zumbador;
    avanza;
    gira(2);
    repetir 2 veces avanza;
    coge-zumbador;
    gira(3);
    avanza;
    repetir 2 veces deja-zumbador;
    gira(3);
    avanza;
    gira(1);
fin;
define-nueva-instruccion diana como
inicio
    si junto-a-zumbador entonces
    inicio
        coge-zumbador;
        si no-junto-a-zumbador entonces
        inicio                              (*SIGNIFICA QUE SE TIENE QUE GIRAR PORQUE SOLO HAY UN ZUMBADOR EN LA ESQUINA*)
            deja-zumbador;
            gira(2);
            avanza;
            gira(1);
            diana;
        fin;
        si junto-a-zumbador entonces
        inicio
        coge-zumbador;
        si junto-a-zumbador entonces
        inicio                          (*YA DI TODA UNA VUELTA Y ME TENGO QUE SALTAR A LO SIGUIENTE*)
            gira(2);
            repetir 2 veces deja-zumbador;
            repetir 3 veces avanza;
            gira(1);
            repetir 3 veces avanza;    (*PARA SABER SI ESTA EN EL CENTRO*)
            si junto-a-zumbador entonces
            inicio
                coge-zumbador;
                si no-junto-a-zumbador entonces   (*SIGNIFICA QUE SI ESTA EN EL CENTRO Y HAY QUE DEJAR LOS ZUMBADORES*)
                inicio
                    deja-zumbador;
                    gira(2);
                    avanza;
                    mientras junto-a-zumbador hacer coge-zumbador;
                    mientras algun-zumbador-en-la-mochila hacer
                    inicio
                        deja-zumbador;
                        repetir 2 veces avanza;
                        deja-zumbador;
                        gira(2);
                        repetir 2 veces avanza;
                        gira(2);
                    fin;
                    apagate;
                fin
                sino
                inicio (*SIGNIFICA QUE HABA DOS ZUMBADORES, POR LO TANTO TODABA NO LLEGA AL CENTRO FINAL*)
                    deja-zumbador;
                    gira(2);
                    avanza;
                    gira(2);
                fin;
            fin
            sino
            inicio
                gira(2);   (*SIGNIFICA QUE NO HAY ZUMBADORES Y QUE ESTA EN UN CENTRO NORMAL*)
                avanza;
                gira(2);
            fin;
            rastro;
            diana;
        fin
        sino
        inicio    (*SIGNIFICA QUE HAY UN MONTON DE 2 ZUMBADORES*)
            avanza;
            diana;
        fin;
        fin;
    fin
    sino
    inicio
        avanza;
        diana;
    fin;
fin;
    inicia-ejecucion
        engano;
        rastro;
        diana;
        apagate;
    termina-ejecucion
finalizar-programa
