Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Perl Racer

by turnstep (Parson)
on Jan 09, 2001 at 16:58 UTC ( [id://50667]=obfuscated: print w/replies, xml ) Need Help??

Not what you might think it is...

#!perl -w use strict;$|++;my$X=1;my$Y=5;if (shift){$X=3;$Y=6;}@_=split(m//, " \\;'\@0");splice@_=>2,0=>"";my $racer=q!s/(.)/$-=3**$;++;$=+=$-*$1 /goSpeedgo!; $racer=~tr/Spdx//d;sub or() {while($$=~m(((\d{2,3})*((?<!^)(([^\n]{3})))[A-Z]*))g) {$==$; =$^S;($_=$5gt$3?$ 4gt$5?$1 :$2:$1) =~y.\.\-_.120.; eval$racer;$@=() ;($^[.= chr ($= +65))=~y[\[][ ] =~y!\!!\!\!!d;} $==chop ($==hex( $=));for(split (m=\x51==>$^[)){ ($@->{qq {$_[++$/ ]\n}}=$_)=~y (JXZ)(.!@);}$/= chr$/+--$/; $$="";$?= 16;$:=chop($:= '$|');$.=-6;my $d=" "x22;my$JAPH=reverse"JustAnotherPerlHacker ";$%=-25; my@S=(30,65,17,72,21,7,41,5,62,8,65,84,1,12,12,57,46,4,16); my$M5= "O-O";$-=-7; my $C= $:." "x(22) .$:;$;=chop$JAPH;{for(1..$?) {$^X=$d;for(1 ..rand($X )+1){substr($^X,rand(22),1)= "*";}if(++$%> 1 and rand ($Y) <1){substr($^X,rand(19), 3," $; ");} unshift@$, ++$.<1?"$:$d$:":"$:$^X$:";}$? =1;($C=pop@$) =~s/[BN]/ /g;substr($C,$=,3,$M5);print"\n"x$S[0];for(1..15 ){print"\040\040\040\040\040$$[$_-1]\n";}printf"\040\040"; printf "\040\040"; printf "\040$C T"; printf "%c%d%cM:%d%c" ,58,time-$^T,32, ++$-,32*1; printf "B:$S[7]\040\b \b\b\bN%c%d\40" ,58,$S[12]; printf "S%c \b%s%c\n" ,58,$S[17], 867 +5309-6144; printf "\40\40\040%c" ,32; print"\40" ,"_"x(24)," \040\40\040\40\b\040$$\n\n";$JAPH or$a=~s/[^\@]/0/g;!$JAPH and $a=~s/(.).{0,}/$1\n/;$@->{"\\\n"} =~s/(([^ ]+)( ))(.*)/ printf "%s%s%s%s",$1 #$+=$- ;chop($JAPH); ,join( $_[0],@_[3..4] ),$3,$4/oe;last if$a;$S[10-9] =time; $a=<>; next if $!+=time -$S[1] and time-$S[1] >3 and $a= "'\n";next if($a=~/^;$/and defined$=-- and $C !~s/[^$:]$M5([ Z]{0})/$M5 /)or ($a=~/^'$/and $=++and$C!~/$M5[^$:]/)or($a=~/^;;$/and$S[17]and defined ($=-=2)and--$S[17]and$C!~/[^$:]{2}$M5/)or($a=~/^''$/and$S[17] and $= +=2and--$S[17] and $C!~ /$M5[^$:]{2}/ )or($a=~ / /and$S[7] and substr($$[-1], $=,3," ")and --$S[7]&& 0);{if($a=~/n/i and$S[12]) { --$S[12];my$i= 15-1;$$[$i --]=~s/[^$:]/ /g while$i> 15-5}$$[-1]=~ /^.{$=}(?:p ){0}(.{3})/;next if($_= $1)=~/\*/and$a= "Q"; if($_=~ /[^ ]/){$$.=$;lt'a'? " $;":$;;my$J=chop ($JAPH); for( @$){s/$;/$J/;}next unless$JAPH; $; =$J;$S[rand(17)+3]++; }undef$a;last;}redo;}$@->{"0\n"}.=$!+$-;$a=~s{[;']{1,2}}{;}g; exists$@->{$a}or$a=$/;print"$@->{$a}\n";exit;}$$-=$$;while (<DATA>){m/#+/and &or or($$.=$_)=~s/[\n ]//mg;}__DATA__ -_-__-.._---...---___..._._---__-_-.___-__.._.-.-__--. _____-.-_-.-----_.-..-..._.----..-_-._-----._-..--.--- ._-.-____._----._____--.--..._-_.-.-.-._---..-_----_._ --.-.._.-.._-----.--__-_.- _._-----..- ._-._---._-. -_.._----__ -_. --_- ._-._-.-.-. ._- -..- ..---__--_. -....--.---- _---..-_--- -..-.._--..._---..____._-. ._...---.__ _-----___---_-_--.-_-.._-.-.-._-..._--.-_..--._--_---. ...__-._-..__-.__.-__-.._...-._---..-_----..---_...-.- ---_---..-_----_-_-..._----___---__--__-..--..._----.. -._--- #

Replies are listed 'Best First'.
Re: Perl Racer
by turnstep (Parson) on Jan 09, 2001 at 17:00 UTC

    This one also contains a hidden message, for those inclined to dig deep. The message can be revealed by running the program in a certain way. If you run the script, you may understand more...

    Some of the posts "below" this one give away some of what this program. If you are truly sadistic and want to figure out what it does before running it, don't read any further. :)

      Chipmunk!!! Nope, I'm lost. I get what appears to be Galaga (just played it on the 20th anniversary machine - 50 cents!) and then I'm off the cliff, no matter what.

      a

        I dunno, I managed to hit a barrel. The steering seems to be a little shakey.

        Update: I especially liked the use of $JAPH (more so now that I'm getting the hang of the steering.)

        Ok I got a Score of 332 in easy mode. Maybe I'll try for a better score later. Nice code turnstep!

Re: Perl Racer
by halxd2 (Monk) on Jan 11, 2001 at 02:14 UTC
    Now here is an example of a flaw in our point system. I can only give one vote to code which I should humbly submit my total xp.

      For those having trouble, use the following keys:

      • ; (semi-colon) to go left
      • ' (apostrophe) to go right
      • <CR> (Enter) to go straight
      • And the powerups (N <space> ;; and '')
      • Hit Enter after each key, and only hit it once

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: obfuscated [id://50667]
Approved by root
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (4)
As of 2024-03-19 03:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found