Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
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
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;
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.

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 contemplating the Monastery: (4)
As of 2014-10-26 00:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (149 votes), past polls