Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Moon japh

by chargrill (Parson)
on Nov 10, 2006 at 19:48 UTC ( #583394=obfuscated: print w/ replies, xml ) Need Help??

Inspired by liverpole's recent foray into pseudoscience (or possibly protoscience, depending on your opinion) with his recent Cyclical Japh, I thought I'd make a bit of a foray of my own into the arcane arts myself.

For anyone who likes to pay attention to such things for planning their day, I present my homage to the Moon (pictured here so you don't have to squint too hard).

#!/usr/bin/perl $_=q|$B="\e[1m\@\e[2 2m";sub'g{($cx,$cy,$r,$a,$b)=@_; my@o;F($t=0;$t<3.14159;$t+=.04/$r){$x= $cx+int($r*cos$t);$Y=$cy+int(($r*11/5*sin $t) / $a**3);$o[ $x][$Y]=$B;$Y=$cy-int(($r *11/ 5 * si n$t )/$b** 3);$o[$x][$ Y ]=$B}@o}$ H='rel w-w-w-o -o -o-h'; s ub'p{ R" \ e[40m ;\e [37m\e [ 2J\e[1; +1 f \n"; i f($_[0 ]== -1&&$_[ 1 ]==1){ +ret u rn}@ o=g (10,2 1 ,1 0 ,@ _ +);my $ l; F ^my$i (@ o){$t=0;F(@ $ +i){if ( $_ ){R $_;$t=($t&&${l +}ne$_) ?0 :1 ;$ l= $_}else{R$t?'#' +:'^'}}R "\ e[2 m\n"} w()if($_[0]= =1&&$ +_[1]==1 )} sub'h { $ z=4;R"\e[4 7m\e[30m\e[9;${ z + }f\n "; F( spl it(//,~~ re verse" ^,$H ^lreP^rehton + a^ts u J^ ")) {R"\e[9;${z}f$ _\n";S.0 3;$z++}R"\e[ + 0m\e [ 23 ;0f \n";S.9}F($b= -1;$b>-3 .2; $b-= .1){p(1, +$b);S. 0 6/ $b** 2}F($b=3.2;$b >.9;$ b- = .1){p ( 1, $b);S.06/ $ +b* *2}F ($ a=1;$ a<3.2;$a+=.1) {p $a ,1; S. 06/$a**2 +} F( $ a= -3.2;$a<-.9;$a+=.1){ p$a,1; S.06/$a * *2}R"\e[2m +;\ e[2 J \e[ 0;0f\n";S.3;su b'z {my($y,$m,$d)=@_; if( $m<3 +) {$y - -;$ m+=12}my$ j=( 365.25*$y+30.6*$ m+ $d +-69403 9 .09) /29. 53; $b =int$j;$j-=$ b;$b=in +t($j*31+ .5) }( $d , $m,$y)=(localtime)[3,4,5];$m++; $y+=1900; @p +=([-1,1 ],[-1, 1], [1,-1 .05],[1,-1.1],[1,-1.2],[ 1,-1.3],[1, -1. +5],[1,- 2],[1,-3. 2],[ 1,1.8],[1,1.5],[1,1.35], [1,1.2],[1, 1.1], +[1,1.0 5],[1,1], [1. 05, 1],[1.1,1],[1.15,1],[1.2,1], [1.25,1], [1. +5,1], [1.8, 1 ],[2. 2,1],[-3.2,1],[-2.2,1],[ -1.8, 1],[ +-1.5 ,1],[ -1.35,1 ],[-1.2,1],[-1.1,1],[-1,1] ); sub'w{my@o=( +'^^ ^\|\\^ ^^^^^^','^^ \|V.\\_^^^^^^','^^\|..\'.\\^^^^^','^^)...,_ +\\ ^^^^','^/....\|^^^^^^','/......\\^^^^^','\|.......\\^^^^','^\\. +. .....\\^^^','^^\|.......\\^^','^^\|.\|......\|^','__/.\|\\.. .../');F^my$o(12..22){F(18..30){my$l=substr($o[$o-12],$_ -18,1);R${l}ne'^'?"\e[31m\e[$o;${_}H$l\e[39m\n":''}} h()}|;s*\s+**gx;s-\^- -gx;s^R^print^g;s!F!for!g; eval ;sub'S{my$s;select$s,$s,$s,$_[0]} p(@ { $p[z($y,$m,$d)]}); print"\e[0m\e[2". "3;0f\nphase for $m/$d/$y\n"

Update: Thanks for the pointer(s), ikegami. I tend to forget to make sure things like this work on Windows without alteration.

s**lil*; $*=join'',sort split q**; s;.*;grr; &&s+(.(.)).+$2$1+; $; = qq-$_-;s,.*,ahc,;$,.=chop for split q,,,reverse;print for($,,$;,$*,$/)

Comment on Moon japh
Select or Download Code
Replies are listed 'Best First'.
Re: Moon japh
by liverpole (Monsignor) on Nov 10, 2006 at 20:36 UTC
    Absolutely amazing, Mr. chargrill,

    This is by far your most stunning Japh in terms of presentation and effect!

    It even looks quite wild when you run perl -MO=Deparse on it.

    And as ikegami points out, it runs fine under Windows too, with Win32::Console::ANSI; at the top.

    Kudos on a masterful work!  This one really sets the bar high for lovers of obfuscation!

      I heartily agree! This is a really incredible display. Keep up the good work!
Re: Moon japh
by ikegami (Pope) on Nov 10, 2006 at 19:54 UTC

    Windows users can safely add use Win32::Console::ANSI; after the shebang line to make this work right.

    For best results, run in a 80x25 full-screen console. (Run mode con cols=80 lines=25 from the prompt from which you'll run the script.)

      Or just add -MWin32::Console::ANSI on the command line, like:
      perl -MWin32::Console::ANSI
Re: Moon japh
by f00li5h (Chaplain) on Nov 11, 2006 at 06:16 UTC


    @_=qw; ask f00li5h to appear and remain for a moment of pretend better than a lifetime;;s;;@_[map hex,split'',B204316D8C2A4516DE];;y/05/os/&print;
Re: Moon japh
by wulvrine (Friar) on Nov 20, 2006 at 14:08 UTC
    *Howling at the moon*
    That is awesome! Hell of a job! ++!

    s&&VALKYRIE &&& print $_^q|!4 =+;' *|

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: obfuscated [id://583394]
Approved by ikegami
Front-paged by liverpole
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (4)
As of 2016-05-04 01:08 GMT
Find Nodes?
    Voting Booth?