iniciar-programa
define-nueva-instruccion gira-derecha como
inicio
  repetir 3 veces
    gira-izquierda;
fin;
define-nueva-instruccion mira-este como
inicio
  mientras no-orientado-al-este hacer
    gira-izquierda;
fin;
define-nueva-instruccion mira-norte como
inicio
  mientras no-orientado-al-norte hacer
    gira-izquierda;
fin;
define-nueva-instruccion mira-sur como
inicio
  mientras no-orientado-al-sur hacer
    gira-izquierda;
fin;
define-nueva-instruccion mira-oeste como
inicio
  mientras no-orientado-al-oeste hacer
    gira-izquierda;
fin;
define-nueva-instruccion paso-atras como
inicio
  repetir 2 veces
    gira-izquierda;
 avanza;
 repetir 2 veces
   gira-izquierda;
fin;
define-nueva-instruccion geologicas como
inicio
  si junto-a-zumbador entonces
  inicio
    si derecha-libre entonces
    inicio
      gira-derecha;
      avanzA;
      si junto-a-zumbador entonces
      inicio
        paso-atras;
        gira-izquierda;
        mientras junto-a-zumbador y frente-libre hacer
          avanza;
        si no-junto-a-zumbador entonces
          paso-atraS;
        gira-derecha;
        avanza;
        si no-junto-a-zumbador entonces
        inicio
          gira-derecha;
          avanza;
          si no-junto-a-zumbador entonces
          inicio
            mira-oeste;
            avanzA;
            gira-derecha;
            mientras junto-a-zumbador y frente-libre hacer
              avanza;
            si no-junto-a-zumbador entonces
              paso-atras;
            si junto-a-zumbador entonces
              coge-zumbador;
            mira-norte;
            gira-derecha;
            avanza;
            gira-derecha;
            mientras no-junto-a-zumbador y frente-libre hacer
              avanza;
            si junto-a-zumbador entonces
            inicio
              repetir 2 veces
               paso-atras;
            fin;
            deja-zumbador;
            mientras frente-libre hacer
              avanzA;
            mira-norte;
          fin
          sino
          inicio
            mira-sur;
            mientras frente-libre hacer
              avanza;
            mira-norte;
          fin;
        fin
        sino
        inicio
          gira-derecha;
          mientras frente-libre hacer
            avanza;
          mira-norte;
        fin;
      fin
      sino
        mira-norte;
    fin
    sino
    inicio
      mira-oeste;
      mientras frente-libre hacer
        avanzA;
      paso-atras;
      gira-derecha;
    fin;
  fin
  sino
  inicio
    gira-derecha;
    avanza;
    gira-izquierda;
  fin;
fin;
define-nueva-instruccion neras como
inicio
  si algun-zumbador-en-la-mochila entonces
  inicio
    deja-zumbador;
    neras;
    mientras derecha-libre hacer
    inicio
      geologicas;
    fin;
    si derecha-bloqueada entonces
    inicio
      mira-oeste;
      mientras frente-libre hacer
      inicio
        si junto-a-zumbador entonces
        inicio
          gira-derecha;
          mientras junto-a-zumbador hacer
            avanza;
          avanza;
          mientras no-junto-a-zumbador y frente-libre hacer
          inicio
             avanza;
          fin;
          si junto-a-zumbador entonces
          inicio
             coge-zumbador;
             mira-sur;
             mientras no-junto-a-zumbador hacer
               avanza;
             paso-atras;
             deja-zumbador;
          fin;
          mira-sur;
          mientras frente-libre hacer
            avanza;
          gira-derecha;
        fin;
        avanzA;
      fin;
      paso-atras;
      mira-norte;
    fin;
  fin
  sino
  inicio
  mientras junto-a-zumbador hacer
    coge-zumbador;
    gira-derecha;
    avanza;
    gira-izquierda;
  fin;
fin;
    inicia-ejecucion
    neras;
        apagate;
    termina-ejecucion
finalizar-programa
