Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Hangman (qotw)

by Crian (Chaplain)
on May 28, 2004 at 23:12 UTC ( #357386=obfuscated: print w/replies, xml ) Need Help??

print ("$0 [-h] [-o] [-v] dictfile tries\n\t-o allows original game rules\n\ +t-v shows helpful in", "fos\n")&&exit if $ARGV[0 ]eq'-h'or 2>@ARGV;$ n=$v=1,shift if $ARGV[ 0 +]eq'-vo'or$ ARGV [0]eq '-ov';$v=1,shift if$ARGV[0]eq'-v';$n= 1,shift if$ARGV [0]eq'-o';$v=1,s +hift if$ ARGV[0]eq'-v' ;open I,$ ARGV [0]or die 'n'. 'o '. 'd'. 'i'. 'ct'. 'i'. 'o'. 'na'. 'r'. 'y'. " '".$ARGV [0]. "' fo". "u".'nd ' .'('. "$!)";@w=<I>; chomp ($w=$w[int rand @w]); $t=$ARGV[01]; while (07){%S=(); %T=() ;if (join ('' ,grep {!$S{$_}++}sort split (//,$w))eq join('',gre +p{ ! $T{ $_}++}sort(split //,$g) +)){ print "\tLIFE!\n";exit;}last if +! $t; print "\t",(map{(index($g,$_)>= +0)?$_ :'_'} split(//,$w)),($v?" ($t " +.($n? 'wro' .'ng ':'').'guesses left +[gue' .'ss' .'ed:'.$g.'/'.$f.'])':'') +,"\n" ;$i = substr<STDIN>,0,1;--$t if! +$n;if( index ($w,$i)>=0){--$t if$n&&inde +x($g,$i )>=0; $g.=$i;}else{--$t if $ +n; $ f.= $i;}}print "\tDEA" ,"TH" ,"!\n";print"the " ,"So" ,"lution was $w\n" if$v; # Copyright 2004 #by C hristian Duehl. Al #l ri ghts reserved. Thi #s pr ogram is free soft #ware . You can redistri +b #ute# it and/or m odify it + un #der# #the# #same #term #s as #perl itself.

Replies are listed 'Best First'.
Re: Hangman (qotw)
by heroin_bob (Sexton) on Jun 22, 2004 at 21:39 UTC
    Nothing like morbid use of code to brighten my day with a chuckle :)

    If you're ever lost and need directions, ask the guy on the motorcycle.
Re: Hangman (qotw)
by Trag (Monk) on May 30, 2004 at 13:52 UTC
    It looks nice, but when I run it I get a "no dictionary '' found (No such file or directory) at C:\myperl\hang.pl line 5." error. Otherwise, good work!


    our @item = reverse (114, 101, 107, 99, 97, 104, 32, 108, 114, 101, 80, 32, 114, 101, 104, 116, 111, 110, 97, 32, 116, 115, 117, + 74); local $my = reverse ")meti@\ ,rhc (pam tnirp";eval $my;
      Did you start it with two parameters? The programm gets at least two parameters: first the dictionary file (one word per line), second: number of tries (or number of bad tries, if you use the option -o).

      Take a look at the help output after starting the program with the option -h.
        Whoops. Thanks


        our @item = reverse (114, 101, 107, 99, 97, 104, 32, 108, 114, 101, 80, 32, 114, 101, 104, 116, 111, 110, 97, 32, 116, 115, 117, + 74); local $my = reverse ")meti@ ,rhc (pam tnirp";eval $my;

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2016-10-01 22:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?






    Results (9 votes). Check out past polls.