Your skill will accomplishwhat the force of many cannot PerlMonks

### Re: (Golf) The Animal Game

by redsquirrel (Hermit)
 on Jan 23, 2002 at 21:42 UTC ( #140952=note: print w/replies, xml ) Need Help??

in reply to (Golf) The Animal Game

This is my second attempt at Perl Golf. Although my score (281) sucks, I wanted to post my code because I had a hard enough time just getting it to work at all. :-) I know I could make my code more concise, but I've run out of time! I've got to actually get some work done today!

My free subs:

```sub a {
print shift;
return 1 if \$answer =~ /y/i;
return 0;
}

sub t {
}

sub i {
my (\$g, \$u) = @_;
print "What is a question that is true for \$u, but false for \$g?\n
+";
}

sub w {
print "Do you want to continue?\n";
return 1 if \$answer =~ /y/i;
return 0;
}

sub g {
my \$animal = shift;
print "n" if \$animal =~ /^[aeiou]/;
print " \$animal?\n";
return 1 if \$answer =~ /y/i;
return 0;
}

My free initialization:

```my @t = (
[
undef,undef,
]
);

And my long-winded (281) solution:

```sub r{my\$t=shift;my\$x=a(\$t->[2][2]);\$t->[\$x]?r(\$t->[\$x]):return \$t->[2
+][\$x]}sub
n{my\$t=shift;for(0,1){if(\$t->[2][\$_]eq\$b&&!\$t->[\$_]){\$t->[\$_]=[undef,u
+ndef,[\$b,\$
a,\$q]];return 1}last if\$t->[\$_]&&n(\$t->[\$_])}}while(1){\$b=r(\$t[0]);if(
+!g(\$b)){\$a
=t();\$q=i(\$b,\$a);n(\$t[0])}last if!w()}

Create A New User
Node Status?
node history
Node Type: note [id://140952]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (4)
As of 2018-03-24 17:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
When I think of a mole I think of:

Results (299 votes). Check out past polls.

Notices?