Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
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.

Comment on Hangman (qotw)
Download Code
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 pondering the Monastery: (8)
As of 2015-07-08 01:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (93 votes), past polls