86 lines
2.0 KiB
Perl
86 lines
2.0 KiB
Perl
use Term::ReadKey;
|
|
|
|
sub k {
|
|
ReadKey(-1) # Perform a non-blocked read
|
|
}
|
|
|
|
ReadMode 3; # Echo off, unbuffered, signals enabled, Xon/Xoff
|
|
# possibly enabled, and 8-bit mode possibly enabled.
|
|
|
|
sub rk {
|
|
$Q = '';
|
|
$Q .= $QQ while ( $QQ = k() ); $Q
|
|
}
|
|
|
|
$| = 1;
|
|
|
|
print "\ec\e[0;0r\e[4242;1H\e[6n\e[1;1H";
|
|
|
|
# ???
|
|
( $p .= $c ) until ( ( $c = k() ) eq 'R' );
|
|
|
|
$x = 75;
|
|
$dx = 3;
|
|
|
|
# idk?
|
|
( ($yy) = ( $p =~ /(\d+);/ ) ) && ( $yy -= 10 );
|
|
|
|
# Border
|
|
print( ( "\r\n\e[40m\e[37m#" . ( ' ' x 78 ) . "#" ) x 100 );
|
|
|
|
# and what is this?
|
|
$r = (
|
|
sub {
|
|
$M = shift;
|
|
sub {
|
|
$M = ( ( $M * 0x41C64E6D ) + 12345 ) & 0x7FFFFFFF;
|
|
$M % shift;
|
|
}
|
|
}
|
|
)->(42);
|
|
|
|
# What is this?
|
|
$s = (
|
|
sub {
|
|
select( $HV18, $faLL, $D33p, shift );
|
|
}
|
|
);
|
|
|
|
# Does nothing?
|
|
$INT0 ? $H3ll : $PERL;
|
|
|
|
# Nowhere used?
|
|
# hex string -> ascii -> decimal
|
|
# ascii: b'st\x0c\x128vRHq\x05WSFb\x0elUe^\x1bKkoT\x1ak-ru'
|
|
# dec: [115, 116, 12, 18, 56, 118, 82, 72, 113, 5, 87, 83, 70, 98, 14, 108, 85, 101, 94, 27, 75, 107, 111, 84, 26, 107, 45, 114, 117]
|
|
# Length: 29
|
|
@HASH = unpack( "C*", pack( "H*", '73740c12387652487105575346620e6c55655e1b4b6b6f541a6b2d7275' ));
|
|
|
|
for $i ( 0 .. 666 ) {
|
|
$s->(0.1);
|
|
print("\e[40;91m\e[${yy};${x}H.");
|
|
$dx += int( rk() =~ / /g ) * 2 - 1;
|
|
$dx = ( $dx > 3 ? 3 : ( $dx < -3 ? -3 : $dx ) );
|
|
$x += $dx;
|
|
# ( $x > 1 && $x < 80 ) || last;
|
|
( ( $i % 23 ) && print( "\e[4242;1H\n\e[40m\e[37m#" . ( ' ' x 78 ) . "#" ) )
|
|
|| (
|
|
( $h = 20 + $r->(42) )
|
|
&& (
|
|
print(
|
|
"\e[4242;1H\n\e[40m\e[37m#"
|
|
. ( ( chr( $HASH[ $i / 23 ] ^ $h ) ) x ( $h - 5 ) )
|
|
. ( " " x 10 )
|
|
. ( ( chr( $HASH[ $i / 23 ] ^ $h ) ) x ( 73 - $h ) ) . "#"
|
|
)
|
|
)
|
|
);
|
|
# ( ( $i + 13 ) % 23 ) ? 42 : ( ( abs( $x - $h ) < 6 ) || last );
|
|
print("\e[${yy};${x}H\e[41m\e[37m@");
|
|
}
|
|
|
|
# Reset Read Mode
|
|
ReadMode 1;
|
|
|
|
###################-EOF-flappy.pl###############
|