Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

hur6kle -- a game in perl 6

by jaldhar (Vicar)
on Jun 22, 2009 at 20:24 UTC ( [id://773757]=CUFP: print w/replies, xml ) Need Help??

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";

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: CUFP [id://773757]
Front-paged by Arunbear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (3)
As of 2024-04-19 19:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found