[Perl] ASCII Art 0.2

Iniciado por BigBear, 5 Octubre 2012, 00:29 AM

0 Miembros y 1 Visitante están viendo este tema.

BigBear

Una posible version mejorada de este script para hacer ascii art desde una palabra.

El codigo

Código (perl) [Seleccionar]

#!usr/bin/perl
#ASCII Art 0.2
#Coded By Doddy H
#
#http://search.cpan.org/~lory/Text-Banner-1.00/Banner.pm
#

use Text::Banner;
use Time::HiRes "usleep";

my $start = Text::Banner->new;

sub head {

    my @logo = (
        "#=============================================#", "\n",
        "#            ASCII Art 0.2                    #", "\n",
        "#---------------------------------------------#", "\n",
        "# Written By Doddy H                          #", "\n",
        "# Email: lepuke[at]hotmail[com]               #", "\n",
        "# Website: doddyhackman.webcindario.com       #", "\n",
        "#---------------------------------------------#", "\n",
        "# The End ?                                   #", "\n",
        "#=============================================#", "\n"
    );

    print "\n";
    marquesina(@logo);

}

head();

print "\n\n[+] Text : ";
chomp( my $text = <stdin> );

print "\n\n[+] Fill : ";
chomp( my $fill = <stdin> );

print "\n\n\n" . artnow( $text, $fill ) . "\n";

copyright();

sub artnow {

    $start->set( $_[0] );
    $start->fill( $_[1] );

    return $start->get;

}

sub marquesina {

    #Effect based in the exploits by Jafer Al Zidjali

    my @logo = @_;

    my $car = "|";

    for my $uno (@logo) {
        for my $dos ( split //, $uno ) {

            $|++;

            if ( $car eq "|" ) {
                mostrar( "\b" . $dos . $car, "/" );
            }
            elsif ( $car eq "/" ) {
                mostrar( "\b" . $dos . $car, "-" );
            }
            elsif ( $car eq "-" ) {
                mostrar( "\b" . $dos . $car, "\\" );
            }
            else {
                mostrar( "\b" . $dos . $car, "|" );
            }
            usleep(40_000);
        }
        print "\b ";
    }

    sub mostrar {
        print $_[0];
        $car = $_[1];
    }

}

sub copyright {

    print "\n\n";

    marquesina("-- == (C) Doddy Hackman 2012 == --");

    print "\n\n";

    <stdin>;
    exit(1);
}

#The End ?


Un ejemplo de uso




r00t ~ # art2.pl



#=============================================#
#            ASCII Art 0.2                    #
#---------------------------------------------#
# Written By Doddy H                          #
# Email: lepuke[at]hotmail[com]               #
# Website: doddyhackman.webcindario.com       #
#---------------------------------------------#
# The End ?                                   #
#=============================================#


[+] Text : hacked


[+] Fill : #




#    #    ##     ####   #    #  ######  #####
#    #   #  #   #    #  #   #   #       #    #
######  #    #  #       ####    #####   #    #
#    #  ######  #       #  #    #       #    #
#    #  #    #  #    #  #   #   #       #    #
#    #  #    #   ####   #    #  ######  #####




-- == (C) Doddy Hackman 2012 == --