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

Progressive JAPH

by Athanasius (Canon)
on Oct 06, 2012 at 06:41 UTC ( #997588=obfuscated: print w/ replies, xml ) Need Help??

OK, I’m sure this sort of thing must have been done before. But — well, it was a lot more fun to code it myself than to search for someone else’s implementation  ;-)

#! perl -w use strict;use Time::HiRes"usleep";sub o ($){hex$_[0]}++$|;my@t=(q,4a75737420,.qq ;616E6f74686572205065726c206861636B65;.q ,722c,)=~m,(..),xg;our($0,@c)=qq;%X;;sub _{print(qq,\r,,join('',map{chr hex}@c)); usleep(274**2)}sub r{sprintf($0,int(rand 0x5e)+040);}$c[$_]=r for+0..$#t;_;my@z=( -0..$#c);sub n{my($O)=@z;do{$O++if(o$c[$ _]==o$t[$_])}for@z;$O}do{for(@z){$c[$_]= r unless(o$c[$_]==o$t[$_])}},_ while@t>n


Athanasius <°(((><contra mundum

Comment on Progressive JAPH
Download Code
Replies are listed 'Best First'.
Re: Progressive JAPH
by ambrus (Abbot) on Oct 09, 2012 at 20:39 UTC

    See also the similar Brute Force JAPH.

    I think there might have been at least one more similar japh, but I can't find it right now. I hope someone will point to it.

Re: Progressive JAPH
by 2teez (Priest) on Oct 06, 2012 at 13:55 UTC

    Cool! Men I love this!!!

    If you tell me, I'll forget.
    If you show me, I'll remember.
    if you involve me, I'll understand.
    --- Author unknown to me
Re: Progressive JAPH
by ajam (Acolyte) on Oct 09, 2012 at 21:08 UTC

    Very cool.

    It took much longer the second time I ran it. Well, users like features and I'm a user. So if you feel like adding a feature, I suggest having a timeout which makes the correct letters get selected quicker.

      Special order for ajam:  ;-)

      #! perl -w use strict;use Time::HiRes"usleep";sub o ($){hex$_[0]}my@O=(q,4a75737420616E6f74, .qq;686572205065726c206861636B65722c;)=~ m,(..),xg;my(@o,@O0);sub O0{sprintf"%x", splice(@{$_[0]},int(rand(@{$_[0]})),1)}$ o[$_]=[040..0b1111110],$O0[$_]=O0($o[$_] )for-0..$#O;my$o0=+oO(\@O0,\@O);o0($o0,@ O0);O(\@O0,\@o,\@O),o0($o0,@O0)while$o0= &oO(\@O0,\@O)<@O;sub O{my($O,$o,$O0)=@_; for(0..$#$O){$O->[$_]=O0($o->[$_])if(o$O ->[$_]!=+o$O0->[$_])}}sub o0{--$|;my$oo= shift;print"\r",join('',map{chr(o($_))}@ _);usleep(0b1100100**02*(4+70*$oo/031))} sub oO{my($Oo,$O,$o)=(0,@_);for(0..$#$O) {++$Oo if o($O->[$_])==o($o->[$_])}$Oo;}


      Athanasius <°(((><contra mundum


Re: Progressive JAPH
by MilanorTSW (Beadle) on Oct 09, 2012 at 09:46 UTC
    I saw something similar, but the algorithm was different. It still earns my ++.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (3)
As of 2016-05-01 02:05 GMT
Find Nodes?
    Voting Booth?
    :nehw tseb si esrever ni gnitirW

    Results (441 votes). Check out past polls.