process guitarra_luz (x,y,graph2,gl_tecla)
begin
     file=graficos1;
     flags=16;
     loop
         if (key(gl_tecla)) graph=graph2; else graph=0; end
         frame;
     end
end
process guitarra_luz2 (x,y,graph2)
begin
     file=graficos1;
     flags=16;
     loop
         if (key(_space) || key(_z) || key(_x) || key(_tab)) graph=0; else graph=graph2; end
         frame;
     end
end

process guitarra ()
private
       hijos[5];
       ant_left;
       ant_x;
       ant_s;
       nota;
       nota_wav[4];
       nota_chan[4];
       tocada;
begin
     while (key(_backspace)) frame; end
     graficos1=load_fpg("guitarra.fpg");
     put_screen(graficos1,1);
     put(graficos1,7,0,0);
     nota_wav[0]=load_wav("guitarra/c-do.wav");
     nota_wav[1]=load_wav("guitarra/d-re.wav");
     nota_wav[2]=load_wav("guitarra/e-mi.wav");
     nota_wav[3]=load_wav("guitarra/f-fa.wav");
     nota_wav[4]=load_wav("guitarra/g-sol.wav");
     hijos[0]=guitarra_luz2(320-24,24,2);
     hijos[1]=guitarra_luz(320-24,24+48,3,_tab);
     hijos[2]=guitarra_luz(320-24,24+48+48,4,_z);
     hijos[3]=guitarra_luz(320-24,24+48+48+48,5,_x);
     hijos[4]=guitarra_luz(320-24,24+48+48+48+48,6,_space);
     hijos[5]=cursor(graficos1,8);
     loop
         if (mouse.left) ant_left++; else ant_left=0; end
         if (ant_left==0)
         else
             if (ant_left>1)
                if ((mouse.x>170 && ant_x<=170) || (mouse.x<150 && ant_x>=150))
                   tocada=false;
                   if (key(_tab))
                      tocada=true;
                      nota_chan[1]=play_wav(nota_wav[1],0);
                   end
                   if (key(_z))
                      tocada=true;
                      nota_chan[2]=play_wav(nota_wav[2],0);
                   end
                   if (key(_x))
                      tocada=true;
                      nota_chan[3]=play_wav(nota_wav[3],0);
                   end
                   if (key(_space))
                      tocada=true;
                      nota_chan[4]=play_wav(nota_wav[4],0);
                   end
                   if (!tocada)
                      nota_chan[0]=play_wav(nota_wav[0],0);
                   end
                end
             else  //ant_left==1
                 if ((mouse.x<32) && (mouse.y<32)) break; end
             end
             ant_x=mouse.x;
         end
         if (!ant_s && key(_s))
            ant_s=true;
            tocada=false;
            if (key(_tab))
               tocada=true;
               nota_chan[1]=play_wav(nota_wav[1],0);
            end
            if (key(_z))
               tocada=true;
               nota_chan[2]=play_wav(nota_wav[2],0);
            end
            if (key(_x))
               tocada=true;
               nota_chan[3]=play_wav(nota_wav[3],0);
            end
            if (key(_space))
               tocada=true;
               nota_chan[4]=play_wav(nota_wav[4],0);
            end
            if (!tocada)
               nota_chan[0]=play_wav(nota_wav[0],0);
            end
         end
         if (ant_s && !key(_s)) ant_s=false; end
         if (key(_backspace)) break; end
         frame;
     end
     signal(hijos[0],s_kill);
     signal(hijos[1],s_kill);
     signal(hijos[2],s_kill);
     signal(hijos[3],s_kill);
     signal(hijos[4],s_kill);
     signal(hijos[5],s_kill);
     clear_screen();
     unload_fpg(graficos1);
     nota=0;
     for (nota=0;nota<=4;nota++)
         if (is_playing_wav(nota_chan[nota])) stop_wav(nota_chan[nota]); end
         unload_wav(nota_wav[nota]);
     end
     estado=0;
     frame;
end

//*****************************************************************************
//  MENU INICIAL
//*****************************************************************************
process guitarra_flecha (x,y)
begin
     file=graficos1;
     flags=4;
     z=-600;
     signal(id,s_freeze);
     frame;
     //loop frame; end
end

process intro_guitarra ()
private
       cont;
       hijos[1];
       ant_l;
       ant_r;
begin
     set_text_color(rgb(255,255,255));
     write(0,160,100,1,"Y : Instrucciones");
     write(0,160,140,1,"X : Tocar");
     loop
         if (key(_z))
            delete_text(all_text);
            graficos1=load_fpg("inst_guitarra.fpg");
            file=graficos1;
            hijos[0]=guitarra_flecha(0,240);
            hijos[1]=guitarra_flecha(320,240);
            while (cont<4)
                  switch (cont)
                  case 0:      //foto: como coger la consola
                       x=480;
                       y=120;
                       graph=3;
                       hijos[0].graph=0;
                       hijos[1].graph=2;
                       while (x!=160)
                             x-=5;
                             frame;
                       end
                       loop
                           if (!ant_r && key(_tab))
                              cont++;
                              ant_r=true;
                              while (x>=-160)
                                    x-=5;
                                    frame;
                              end
                              break;
                           end
                           if (ant_r && !key(_tab)) ant_r=false; end
                           frame;
                       end
                  end
                  case 1:      //Posicion de los dedos
                       hijos[0].graph=1;
                       hijos[1].graph=2;
                       x=0;
                       y=0;
                       graph=4;
                       set_text_color(rgb(255,255,0));
                       write(0,320,10,2,"El pulgar al botón R.");
                       write(0,320,55,2,"El índice al botón Y.");
                       write(0,320,105,2,"El corazón al boton X.");
                       write(0,320,150,2,"El anular al botón SELECT.");
                       loop
                           if (!ant_r && key(_tab))
                              cont++;
                              ant_r=true;
                              graph=0;
                              delete_text(all_text);
                              break;
                           end
                           if (ant_r && !key(_tab)) ant_r=false; end
                           if (!ant_l && key(_backspace))
                              cont--;
                              ant_l=true;
                              graph=0;
                              delete_text(all_text);
                              break;
                           end
                           if (ant_l && !key(_backspace)) ant_l=false; end
                           frame;
                       end
                  end
                  case 2:     //como tocar (rasgar las cuerdas)
                       x=480;
                       y=120;
                       graph=5;
                       hijos[0].graph=1;
                       hijos[1].graph=2;
                       while (x!=160)
                             x-=5;
                             frame;
                       end
                       loop
                           if (!ant_r && key(_tab))
                              cont++;
                              ant_r=true;
                              while (x>=-160)
                                    x-=5;
                                    frame;
                              end
                              break;
                           end
                           if (ant_r && !key(_tab)) ant_r=false; end
                           if (!ant_l && key(_backspace))
                              cont--;
                              ant_l=true;
                              while (x>=-160)
                                    x-=5;
                                    frame;
                              end
                              break;
                           end
                           if (ant_l && !key(_backspace)) ant_l=false; end
                           frame;
                       end
                  end
                  case 3:       //Como tocar (las notas)
                       write(0,10,10,0,"MAPA DE LAS NOTAS:");
                       write(0,10,30,0,"NINGUNO: Do");
                       write(0,10,40,0,"SELECT: Re");
                       write(0,10,50,0,"X: Mi");
                       write(0,10,60,0,"Y: Fa");
                       write(0,10,70,0,"R: Sol");
                       
                       write(0,180,90,1,"Pulsa R para empezar.");
                       loop
                           if (!ant_r && key(_tab))
                              cont++;
                              ant_r=true;
                              delete_text(all_text);
                              signal(hijos[0],s_kill);
                              signal(hijos[1],s_kill);
                              unload_fpg(graficos1);
                              break;
                           end
                           if (ant_r && !key(_tab)) ant_r=false; end
                           if (!ant_l && key(_backspace))
                              cont--;
                              ant_l=true;
                              delete_text(all_text);
                              break;
                           end
                           if (ant_l && !key(_backspace)) ant_l=false; end
                           frame;
                       end
                  end
                  end //switch
            end   //while (cont<4)
         end      //if (key(_z))
         
         //empieza el instrumento
         if (key(_x) || (cont==4))
            break;
         end

         frame;
     end
     delete_text(all_text);
     estado=2;
     guitarra();
end
