Created
February 21, 2009 09:04
-
-
Save sekimura/67961 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/perl | |
# ______ ________ __ | |
# /_ __/___ _________ ___ / ____/ /____ _____/ /__ | |
# / / / _ \/ ___/ __ `__ \ / / / // __ \/ ___/ //_/ | |
# / / / __/ / / / / / / / / /___/ // /_/ / /__/ ,< | |
# /_/ \___/_/ /_/ /_/ /_/ \____/_/ \____/\___/_/|_| | |
use strict; | |
use warnings; | |
use Curses; | |
use Term::Animation; | |
my $n0 = q# | |
.d8888b. | |
d88P Y88b | |
888 888 | |
888 888 | |
888 888 | |
888 888 | |
Y88b d88P | |
"Y8888P" | |
#; | |
my $n1 = q# | |
d888 | |
d8888 | |
888 | |
888 | |
888 | |
888 | |
888 | |
8888888 | |
#; | |
my $n2 = q# | |
.d8888b. | |
d88P Y88b | |
888 | |
.d88P | |
.od888P" | |
d88P" | |
888" | |
888888888 | |
#; | |
my $n3 = q# | |
.d8888b. | |
d88P Y88b | |
.d88P | |
8888" | |
"Y8b. | |
888 888 | |
Y88b d88P | |
"Y8888P" | |
#; | |
my $n4 = q# | |
d8888 | |
d8P888 | |
d8P 888 | |
d8P 888 | |
d88 888 | |
8888888888 | |
888 | |
888 | |
#; | |
my $n5 = q# | |
888888888 | |
888 | |
888 | |
8888888b. | |
"Y88b | |
888 | |
Y88b d88P | |
"Y8888P" | |
#; | |
my $n6 = q# | |
.d8888b. | |
d88P Y88b | |
888 | |
888d888b. | |
888P "Y88b | |
888 888 | |
Y88b d88P | |
"Y8888P" | |
#; | |
my $n7 = q# | |
8888888888 | |
d88P | |
d88P | |
d88P | |
88888888 | |
d88P | |
d88P | |
d88P | |
#; | |
my $n8 = q# | |
.d8888b. | |
d88P Y88b | |
Y88b. d88P | |
"Y88888" | |
.d8P""Y8b. | |
888 888 | |
Y88b d88P | |
"Y8888P" | |
#; | |
my $n9 = q# | |
.d8888b. | |
d88P Y88b | |
888 888 | |
Y88b. d888 | |
"Y888P888 | |
888 | |
Y88b d88P | |
"Y8888P" | |
#; | |
my $nc = q# | |
d8b | |
Y8P | |
d8b | |
Y8P | |
#; | |
my @numbers = ( $n0, $n1, $n2, $n3, $n4, $n5, $n6, $n7, $n8, $n9 ); | |
my $s = Term::Animation->new(); | |
Curses::halfdelay(2); | |
while (1) { | |
$s->remove_all_entities; | |
my ( $sec, $min, $hour ) = map { sprintf "%02d", $_} localtime(); | |
my @s = map { $numbers[$_] } ( $sec =~ m/\d/g ); | |
my @m = map { $numbers[$_] } ( $min =~ m/\d/g ); | |
my @h = map { $numbers[$_] } ( $hour =~ m/\d/g ); | |
$s->new_entity( | |
shape => "$hour : $min : $sec", | |
position => [ 2, 3, 10 ], | |
); | |
while ( my $ss = shift @s ) { | |
$s->new_entity( | |
shape => $ss, | |
position => [ 67 - ( scalar @s * 13 ), 7, 10 ], | |
); | |
} | |
while ( my $mm = shift @m ) { | |
$s->new_entity( | |
shape => $mm, | |
position => [ 40 - ( scalar @m * 13 ), 7, 10 ], | |
); | |
} | |
while ( my $hh = shift @h ) { | |
$s->new_entity( | |
shape => $hh, | |
position => [ 13 - ( scalar @h * 13 ), 7, 10 ], | |
); | |
} | |
$s->animate(); | |
my $in = lc( getch() ); | |
if ( $in eq 'q' ) { last; } | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment