sub J {
print("\e[H", $_[0]);
($d and select($D, $D, $D, $d));
}
sub A {
($V = {});
(@V = split(m[$/], pop(@_), 0));
for (($w = ($y = 0)); ($y < @V); (++$y)) {
($Y = $V[$y]);
(@_ = split(//, $Y, 0));
map({(($_[$_] eq $") or ($$V{$w++} = [$_, $y]));} (0 .. (@_ -
+1)));
}
($$V{'_'} = $w);
$V;
}
sub P {
(my($X, $E) = @_);
($E += ($W ? 31 : 101));
($e = ($W ? "\e[4;7;${E}m" : "\e[${E}m"));
(($X =~ s/( +)/\e[m$1$e/g) and $X);
}
eval {
do {
require Win32::Console::ANSI
}
};
sub H {
int(rand(pop(@_)));
}
sub _ {
(($j, $c, $n) = @_);
($h = $$j{'_'});
(@J = ((($" x 79)) x 22));
($| = 0);
map({($Q = $$j{$_ % $h});
($q = $$s{$_ % $$s{'_'}});
(($M, $m) = @$Q);
(($O, $o) = @$q);
if ((($M != $O) or ($m != $o))) {
($M = ($$Q[0] -= ($M <=> $O)));
($m = ($$Q[1] -= ($m <=> $o)));
(++$|);
}
substr($J[$m], $M, 1, chr((33 + H(93))));} (0 .. ($h - 1)));
push(@$c, P(join($/, @J), ($n % 6)));
$|;
}
s//>?!O"?GIIAA??C!L!DC.?AAIGG??Aaa"_#?\@\nDDC??!O>?!O"?GIIAA??CLLl!d!c
+,?Aaigg__!a&_?\@DDC??!O>?!O!?OYYi!a_ckkG!`"\nc)?__aaigg__!a'_\@DDC??!
+O>?!O!?OYyi!q_ckkyrrhim}}woOP\@BE]}|llqqa!yqov~\n~hjeeiggxxzVFFBIWWOA
+II?OQQ!O>?!O"?!I!Q?Ckkyrzji!}yWORRnm}}~~|}qa!yqp"~\nvfmiywxzz~vvBIYWW
+!I"Q"O>?!O!?QYYGWYYi!kyrzjquu}iGwrv~k{qrvt{uayww``nmm\nuu~miyoqij~|sa
+iYYWIIY!QA?"O>?!O!?QYYGWYyi!k}vvdssuaigir~|koorbfceayww`\nhnneoowiyqo
+aajl|soiyyOAAQOO"?!O>?!O!?QYYGOQQackk}vvd{{!ywyr~|kssvffcea\nywwhhnff
+ppwiyywiijn~uqiyyoaAQ'O>?!O!?QYYI!QAckkyrrhww!ywyr~|kssvffcea\nywwghn
+nfppxiyywiijn~uqiyyoaaQ'O>?!O??AQYYIA!QEK{yrjhwoqaigibnlkoorbb_\naayw
+wow}}~pphiyqoaabdtsogWwoaaQOO>?!O??AQYWG??QQU[[ZBjhwoqqiggbf~l|rrb\n`
+geaywwpo!}p`hiiyoqabv|s_GWYoaaQ!O#?O>??!O?AQYWG??ARV\\\\JBJGGW!Ywwrr~
+\nn!~Nlkea!yb`fnnh`_iiyWWyzz~vfJIyoqAAOO!W"O>!?OOQAQWWG!?BV^LJBA!GYQY
+wwo\npbf~}\\Llc_a!ya`FNnhg_aiIGWWyzbffnMKOQQA?#WOO>:?\$_!?"_!o_"?#_\$
+?#_%?"G>%\n?3O#o"Oo!_oOO!?OO#o%O"o'OWWO>%?4O"o#O!_ooO!?#o'O"o&OWWOO>;
+?"_&?!o#_*\n?!_%?GG>:?"_(?'_'?"_>9?"_&?%_?"_&?\$_>7?\$_9?%_/;
($d = (pop(@ARGV) || 0));
($r = (pop(@ARGV) || 240));
($W = ($^O =~ /win/i));
s/\n//gs;
s/>/\n/g;
($I = $_);
map({($K = $_);
($k = chr(($K + 30)));
map({($S = chr(($_ + 63)));
($I =~ s/\Q$k$S\E/($S x $K);/eg);} (0..63));} (3..32));
(@L = map({($A = $_);
($; = '');
map({($_ .= ('?' x (79 - tr//\000-\377/c)));
map({($; .= (((1 << $A) & ((-63) + ord($_))) ? '@' : $"));} split(//,
+$_, 0));
($; .= $/);} split(m[$/], $I, 0));
($/ . $;);} (0..5)));
print("\e[2J\n");
{
($F = $L[($a++) % 6]);
($T = $L[$a % 6]);
($f = $F);
($t = $T);
($l = (($C++) % 6));
($u = A($f));
($v = A($t));
(@b = (@B = ()));
($R = $$v{'_'});
($s = {});
for (($L = 0); ($L < $R); (++$L)) {
{
($g = H(78));
($G = H(21));
((((($g - 40) ** 2) + (($G - 10) ** 2)) > $r) and redo);
($$s{$L} = [$g, $G]);
}
}
($$s{'_'} = $R);
while (_($u, (\@b), $l)) {
();
}
while (_($v, (\@B), ($l + 1))) {
();
}
J(P($f, $l));
sleep(1);
map({J($_);} @b, reverse(@B));
J(P($t, (($l + 1) % 6)));
redo;
}
# ae
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.