Game-DijkstraMap

 view release on metacpan or  search on metacpan

lib/Game/DijkstraMap.pm  view on Meta::CPAN

451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
    my $maxcost = $self->max_cost;
    my $maxcol  = $dimap->[0]->$#*;
    for my $r ( 0 .. $dimap->$#* ) {
        for my $c ( 0 .. $maxcol ) {
            push @points, [ $r, $c ] if $dimap->[$r][$c] == $maxcost;
        }
    }
    return \@points;
}
 
sub update {
    my $self  = shift;
    my $dimap = $self->dimap;
    croak "dimap not set" if !defined $dimap;
    my $maxrow = $dimap->$#*;
    my $maxcol = $dimap->[0]->$#*;
    for my $ref (@_) {
        my ( $r, $c ) = ( $ref->[0], $ref->[1] );
        croak "row $r out of bounds" if $r > $maxrow or $r < 0;
        croak "col $c out of bounds" if $c > $maxcol or $c < 0;
        croak "value must be a number" unless looks_like_number $ref->[2];



( run in 0.372 second using v1.01-cache-2.11-cpan-e5176c747c2 )