Perl-Sensitive Sunglasses PerlMonks

### Re^2: "flashing"-like stuff

 on Sep 26, 2011 at 17:35 UTC ( #927907=note: print w/replies, xml ) Need Help??

in reply to Re: "flashing"-like stuff

I solved this way:
```#!/usr/bin/perl

start:
\$|=1;

(\$w, \$h) = GetTerminalSize;

\$n = 0.97; #AI sternght
\$l = 10; #difficulty

\$x1 = \$w/2; \$y1 = \$h/2;

@dxs = (-0.09, -0.08, -0.07, -0.06, -0.05, 0.05, 0.06, 0.07, 0.08, 0.0
+9);

@d = (0.05, -0.05);
\$dx = \$d[rand @d];
\$dy = \$d[rand @d];

\$x = \$w/2-5;

while (1) {

if (\$key eq "d") {\$x++; \$x = \$w-10 if \$x > \$w-10}
if (\$key eq "a") {\$x--; \$x = 0     if \$x < 0}

\$s = " " x ((\$x1-5)*\$n) . "[========]";
\$s .= "\n" x \$y1 . " " x \$x1 . "o";
\$s .= "\n" x (\$h-\$y1-4) . " " x \$x . "[========]\n\nyou:\t\t\$you\ncomp
+uter:\t\$pc\n\r";
print \$s;

\$dx *= -1 if \$x1 >= \$w-1 || \$x1 <= 0;
\$dy *= -1 if  (\$y1 >= \$h-5 && \$x1 > \$x && \$x1 < \$x+10) || (\$y1 <= 1 &&
+ \$x1 > ((\$x1-5)*\$n) && \$x1 < ((\$x1+5)*\$n));
\$dx = \$dxs[\$x1-\$x] if  (\$y1 >= \$h-5 && \$x1 > \$x && \$x1 < \$x+10) || (\$y
+1 <= 1 && \$x1 > ((\$x1-5)*\$n) && \$x1 < ((\$x1+5)*\$n));

\$x1 += \$dx;
\$y1 += \$dy;

if (\$y1 < 0) {ReadMode 0; ++\$you; sleep 1; goto start}
if (\$y1 > \$h-4) {ReadMode 0; ++\$pc; sleep 1; goto start}

select(undef, undef, undef, 0.005/\$l);
system('clear');

}

saving everything inside \$s (: now it works perfectly (it has some minor bugs, but whatever)

Create A New User
Node Status?
node history
Node Type: note [id://927907]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2017-06-27 16:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
How many monitors do you use while coding?

Results (611 votes). Check out past polls.