Here is my entry in the Golf game, but with some additions
that may throw me off the tour.
I made two data structures @a for animals and @q for
questions. I then update these inside of the allowed
subs that are/were outlined in the rules. With that said
I am at ~111 characters in my do_it sub.
my @q = ( 'Is your animal larger then a bread box',
'Is your animal taller then a car' );
my @a = ( 'dog' );
sub a {
print shift, "?\n";
my $a = <>;
return 1 if $a =~ /y/i;
}
sub g {
print 'I think your animal is a ', shift , ", am I right?\n";
my $a = <>;
return 1 if $a =~ /y/i;
}
sub t {
my $q = shift;
print "What was your animal?\n";
my $a = <>;
chomp $a;
push @a , $a;
return $a;
}
sub i {
my ($u,$g) = @_;
print "What is a question that is true for $u, but false for $g?\n
+";
my $answer = <STDIN>;
chomp $answer;
push @q , $answer;
return $answer;
}
sub w {
print "Do you want to conitue?\n";
my $a = <>;
if ($a =~ /n/i) {
die "Thanks for playing\n";
};
do_it();
}
sub do_it{
for$s(@a){$g=$s;for$q(@q){if(a($q)){$g=$r{$q}||$s}}
if(g($g)){w()}else{$t=t();$i=i($t,$g);$r{$i}=$t;do_it()}}}
&do_it();
1;