Language-Befunge
view release on metacpan or search on metacpan
t/1-classes/ip.t view on Meta::CPAN
#-- random direction
$ip->set_delta( Language::Befunge::Vector->new(3,2) );
my %wanted = ( map {$_=>undef} '(0,1)', '(0,-1)', '(1,0)', '(-1,0)' );
my $iter=0;
while ( keys %wanted ) {
$iter++;
$ip->dir_go_away;
delete $wanted{ $ip->get_delta->as_string };
}
is(keys %wanted, 0, "go_away went north/east/south/west (in $iter iterations)");
#-- turn left
# cardinal directions
$ip->dir_go_east;
$ip->dir_turn_left; is($ip->get_delta->as_string, '(0,-1)', "turn left when going east works");
$ip->dir_turn_left; is($ip->get_delta->as_string, '(-1,0)', "turn left when going north works");
$ip->dir_turn_left; is($ip->get_delta->as_string, '(0,1)', "turn left when going west works");
$ip->dir_turn_left; is($ip->get_delta->as_string, '(1,0)', "turn left when going south works");
( run in 1.682 second using v1.01-cache-2.11-cpan-71847e10f99 )