Guns Roses em Linguagem Perl

Veja como a Linguagem Perl é bem dinâmica e compacta.
Com um pequeno trecho de código podemos criar um complexo script que executa uma musica e exibe em que pontos da guitarra a música é tocada. Tudo no prompt de comando.
Tutorial para você executar o script:
Baixe e instale o Active Perl
Baixe e Instale o Módulo PDPM (Versao 2.0)
Baixe e execute o script Musica_guns.pl (código fonte)
Veja abaixo o pequeno código fonte do programa:
#!/usr/bin/perl # Music: Sweet Child o Mine (Guns Roses) # Author: Edson Duarte (CURSO PPAS - www.insecuritynet.com.br) use prompt_draw_insecuritynet; sub play{ my $freq=$_[0]; my $dura=$_[1]; my $px=$_[2]; my $py=$_[3]; inet_gotoxy($px,$py); inet_color_local(15,15); print "Û"; inet_beep($freq,$dura); inet_gotoxy($px,$py); inet_color_local(0,6); print "-"; } sub riff { my $ini=$_[0]; my $i=0; for($i=0;$i<=1;$i++){ my $pxi; my $pyi; if($ini==297){$pxi=23; $pyi=13;} if($ini==330){$pxi=17; $pyi=13;} if($ini==396){$pxi=23; $pyi=14;} play($ini,250,$pxi,$pyi); play(594,250,14,15); play(440,250,17,14); play(396,250,23,14); play(792,250,14,16); play(440,250,17,14); play(748,250,17,16); play(440,250,17,14); } } inet_color_geral(1,10); print "\n Guns Roses - Sweet child o mine (Guitar Lesson)"; my $i=0; my $c=0; inet_gotoxy(7,9); for($i=17;$i>0;$i--){ if($i < 10){print " "; }print " $i";} inet_color_local(0,6); for($c=0;$c<=6;$c++){inet_gotoxy(0,$c+10); inet_color_local(3,6); $i=0; print "----|"; inet_color_local(0,6); for($i=0;$i<=17;$i++){print "--|";} } inet_color_local(1,3); inet_gotoxy(0,3); print " ÛÛÛÛ\nÛÛÛÛÛÛÛÛ\nÛÛÛÛÛÛÛÛÛÛ\nÛÛÛÛÛÛÛÛÛ\nÛÛÛÛÛÛÛÛ\nÛÛÛÛÛÛÛ\nÛÛÛÛÛÛ"; inet_gotoxy(0,17); print "ÛÛÛÛÛÛ\nÛÛÛÛÛÛÛ\nÛÛÛÛÛÛÛÛ\nÛÛÛÛÛÛÛ\n ÛÛÛ"; inet_gotoxy(15,19); print "Participe de nosso curso de Programacao em Perl"; inet_gotoxy(38,20); inet_color_local(1,7); print "www.insecuritynet.com.br"; $i=0; for($i=0;$i<=1;$i++){ riff(297); riff(330); riff(396); riff(297); } inet_pause; |