A simple little game inspired by pmichauds talks at YAPC-NA in Pittsburgh.
#!/usr/local/bin/perl6
my $guesses = 5;
say qq{{{{{
A Hurkle is hiding on a 10 by 10 grid. The south-west corner of the g
+rid is
point 0,0 and any gridpoint is a pair of whole numbers seperated by a
+comma.
Try to guess the Hurkle's gridpoint. You get $guesses tries. After e
+ach try,
I will tell you the approximate direction to go to look for the Hurkle
+.
}}}}};
my $guess = 0;
my $hurkle_x = 10.rand.int;
my $hurkle_y = 10.rand.int;
regex digit { [0..9] };
regex seperator { \s* ',' \s* };
while ($guess++ != $guesses) {
my $input = prompt "Guess #$guess ";
$input ~~ / $<x>=<digit> <seperator> $<y>=<digit> /;
unless ( ?$<x> && ?$<y> ) {
say 'Huh?';
redo;
}
if ( ($<x> - $hurkle_x).abs + ($<y> - $hurkle_y).abs == 0) {
say "\nYou found him in $guess guesses!";
exit 0;
}
say 'Go ', ($<y> < $hurkle_y)
?? 'North'
!! ($<y> > $hurkle_y)
?? 'South'
!! '',
($<x> < $hurkle_x)
?? 'East'
!! ($<x> > $hurkle_x)
?? 'West'
!! '';
}
say "\nSorry that's $guesses guesses. The Hurkle is at $hurkle_x,$hu
+rkle_y";