iniciar-programa
define-nueva-instruccion mv como
inicio
repetir 2 veces gira-izquierda;
fin;

define-nueva-instruccion gd como
inicio
repetir 3 veces gira-izquierda;
fin;

define-nueva-instruccion portero  como
inicio
si junto-a-zumbador entonces
inicio
coge-zumbador;
portero;
avanza;
fin
sino
inicio
mientras frente-libre hacer avanza;
mv;
fin;
fin;

define-nueva-instruccion ancho como
inicio
si junto-a-zumbador entonces
inicio
coge-zumbador;
ancho;
avanza;
fin
sino
inicio
mv;
mientras no-junto-a-zumbador hacer avanza;
mv;
fin;
fin;

define-nueva-instruccion uno como
inicio
si frente-libre entonces
inicio
avanza;
uno;
deja-zumbador;
fin
sino
inicio
mv;
mientras frente-libre hacer avanza;
gd;
mientras frente-libre hacer avanza;
gira-izquierda;
avanza;
fin;
fin;

define-nueva-instruccion dos como
inicio
si frente-libre entonces
inicio
avanza;
dos;
deja-zumbador;
fin
sino
inicio
mientras frente-libre hacer avanza;
gd;
mientras frente-libre hacer avanza;
gira-izquierda;
repetir 2 veces avanza;
fin;
fin;

define-nueva-instruccion tres como
inicio
si frente-libre entonces
inicio
avanza;
tres;
deja-zumbador;
fin
sino
inicio
mientras frente-libre hacer avanza;
gd;
mientras frente-libre hacer avanza;
gira-izquierda;
 avanza;
fin;
fin;


    inicia-ejecucion
        gd;
        repetir 2 veces avanza;
        mientras junto-a-zumbador hacer coge-zumbador;
        mv; avanza;
        portero;
        mv;
        avanza;
        deja-zumbador;
        mv;
        avanza;
        mientras no-junto-a-zumbador hacer avanza;
        ancho;
        mv;
        avanza;
        deja-zumbador;
        mientras frente-libre hacer avanza;
        mv;
        mientras no-junto-a-zumbador hacer avanza;
        gira-izquierda;
        mientras frente-libre hacer avanza;
        deja-zumbador;
        gira-izquierda;
        uno;
        mv;
        avanza;
        mientras no-junto-a-zumbador hacer avanza;
       gd;
       mientras frente-libre hacer avanza;
       gd;
       dos;
       mientras junto-a-zumbador hacer
       inicio
       mv;
       avanza;
       si junto-a-zumbador entonces coge-zumbador;
       fin;
       si orientado-al-oeste entonces
       inicio
       mientras frente-libre hacer avanza;
       gd;
       mientras frente-libre hacer avanza;
       gd;
       tres;
       deja-zumbador;
       fin
       sino
       inicio
       mv;
       avanza;
       mientras junto-a-zumbador hacer coge-zumbador;
       deja-zumbador;
       fin;






        apagate;
    termina-ejecucion
finalizar-programa
