Incorrect search filter: invalid characters - *.p[ml]
AI-Pathfinding-AStar-Rectangle

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
0.01  Wed Apr  1 13:54:05 2009
        - original version; created by h2xs 1.23 with options
                -A -n AI::Pathfinding::AStar::Rectangle
 
0.02  Wed Apr  1 13:54:05 2009
    -   Some bugfixes
0.16  September 25  23:34 2010
    -  foreach_xy foreach_xy_set implemented in PP.
    -  added clone.
    -  added test for this functions
 
0.17  September 26  14:34 2010
    -  begin_x, end_x, last_x, last_y
    -  added typemap.
    -  added test 06 for this functions
    -  remove some duplicated code
     
0.18  September 26  15:24 2010
    -  added clone_rect for selection rectangle
 
0.19  September 28  05:35 2010
    - added test for dastar algorithm
    - Some doc fix
 
0.20  September 28  06:10 2010
    - Get rid of some warnings && MSVS compiler staff( inline )
 
0.21  September 28  06:10 2010
    - Some perl 5.8.8 are bad. ( Create own croak_xs_usage )
 
0.22  October   3  21:10 2010
    - Some perl 5.8.8 are still bad. ( next try )

README  view on Meta::CPAN

11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
archive can use it get an idea of the modules uses. It is usually a
good idea to provide version information here so that people can
decide whether fixes for the module are worth downloading.
 
INSTALLATION
 
To install this module type the following:
 
   perl Makefile.PL
   make
   make test
   make install
 
DEPENDENCIES
 
This module requires these other modules and libraries:
 
  blah blah blah
 
COPYRIGHT AND LICENCE

examples/snake_labirint.pl  view on Meta::CPAN

1
2
3
4
5
6
7
8
9
10
11
#~ use constant WIDTH_X => 16;
#~ use constant WIDTH_Y => 10;
use constant WIDTH_X => 64;
use constant WIDTH_Y => 32;
 
 
my $m = AI::Pathfinding::AStar::Rectangle->new({ width => WIDTH_X, height => WIDTH_Y });
use strict;

ppport.h  view on Meta::CPAN

49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
  --strip                     strip all script and doc functionality from
                              ppport.h
 
  --list-provided             list provided API
  --list-unsupported          list unsupported API
  --api-info=name             show Perl API portability information
 
=head1 COMPATIBILITY
 
This version of F<ppport.h> is designed to support operation with Perl
installations back to 5.003, and has been tested up to 5.10.0.
 
=head1 OPTIONS
 
=head2 --help
 
Display a brief usage summary.
 
=head2 --version
 
Display the version of F<ppport.h>.

ppport.h  view on Meta::CPAN

275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
The result will usually be a list of patches suggesting changes
that should at least be acceptable, if not necessarily the most
efficient solution, or a fix for all possible problems.
 
If you know that your XS module uses features only available in
newer Perl releases, if you're aware that it uses C++ comments,
and if you want all suggestions as a single patch file, you could
use something like this:
 
    perl ppport.h --compat-version=5.6.0 --cplusplus --patch=test.diff
 
If you only want your code to be scanned without any suggestions
for changes, use:
 
    perl ppport.h --nochanges
 
You can specify a different C<diff> program or options, using
the C<--diff> option:
 
    perl ppport.h --diff='diff -C 10'

ppport.h  view on Meta::CPAN

316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
to display information for all known API elements.
 
=head1 BUGS
 
If this version of F<ppport.h> is causing failure during
the compilation of this module, please check if newer versions
of either this module or C<Devel::PPPort> are available on CPAN
before sending a bug report.
 
If F<ppport.h> was generated using the latest version of
C<Devel::PPPort> and is causing failure of this module, please
file a bug report using the CPAN Request Tracker at L<http://rt.cpan.org/>.
 
Please include the following information:
 
=over 4
 
=item 1.
 
The complete output from running "perl -V"

ppport.h  view on Meta::CPAN

346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
=item 4.
 
A full log of the build that failed.
 
=item 5.
 
Any other information that you think could be relevant.
 
=back
 
For the latest version of this code, please get the C<Devel::PPPort>
module from CPAN.
 
=head1 COPYRIGHT
 
Version 3.x, Copyright (c) 2004-2009, Marcus Holland-Moritz.
 
Version 2.x, Copyright (C) 2001, Paul Marquess.
 
Version 1.x, Copyright (C) 1999, Kenneth Albanowski.

ppport.h  view on Meta::CPAN

6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
if (s == send)
  return 0;
 
/* next must be digit or the radix separator or beginning of infinity */
if (isDIGIT(*s)) {
  /* UVs are at least 32 bits, so the first 9 decimal digits cannot
     overflow.  */
  UV value = *s - '0';
  /* This construction seems to be more optimiser friendly.
     (without it gcc does the isDIGIT test and the *s - '0' separately)
     With it gcc on arm is managing 6 instructions (6 cycles) per digit.
     In theory the optimiser could deduce how far to unroll the loop
     before checking for overflow.  */
  if (++s < send) {
    int digit = *s - '0';
    if (digit >= 0 && digit <= 9) {
      value = value * 10 + digit;
      if (++s < send) {
        digit = *s - '0';
        if (digit >= 0 && digit <= 9) {

t/00-AI-Pathfinding-AStar-Rectangle.t  view on Meta::CPAN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl AI-Pathfinding-AStar-Rectangle.t'
 
#########################
 
# change 'tests => 1' to 'tests => last_test_to_print';
 
use Test::More tests => 1;
BEGIN { use_ok('AI::Pathfinding::AStar::Rectangle') };
 
#########################
 
# Insert your test code below, the Test::More module is use()ed here so read
# its man page ( perldoc Test::More ) for help writing this test script.

t/01-simple.t  view on Meta::CPAN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl Map-XS.t'
 
#########################
 
# change 'tests => 1' to 'tests => last_test_to_print';
 
use Test::More tests => 10+9+2+1;
 
1 for $Test::More::TODO;
our $T = 'AI::Pathfinding::AStar::Rectangle';
BEGIN{
    eval "use ExtUtils::testlib;" unless grep { m/::testlib/ } keys %INC;
    print "not ok $@" if $@;
    $T = 'AI::Pathfinding::AStar::Rectangle';
    eval "use $T qw(create_map);";
    die "Can't load $T: $@." if $@;
}
 
my $a= $T->new({ width => 12, height => 15 });
ok($a);
is(ref ($a), $T);

t/01-simple.t  view on Meta::CPAN

58
59
60
61
62
63
64
65
66
67
68
69
$a->start_y(0);
is($a->start_y, 0, "set start y");
 
# 10 + 8
my $s_1='';
$a->foreach_xy_set( sub { 1;} );
$a->foreach_xy( sub {$s_1.=$_} );
is($s_1, ('1' x (12*15)), "all 111");
#########################
 
# Insert your test code below, the Test::More module is use()ed here so read
# its man page ( perldoc Test::More ) for help writing this test script.

t/02-passability.t  view on Meta::CPAN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl Map-XS.t'
 
#########################
 
# change 'tests => 1' to 'tests => last_test_to_print';
use Test::More 'no_plan';
use strict;
 
1 for $Test::More::TODO;
my $T;
BEGIN{
    eval "use ExtUtils::testlib;" unless grep { m/::testlib/ } keys %INC;
    print "not ok $@" if $@;
    $T = 'AI::Pathfinding::AStar::Rectangle';
    eval "use $T qw(create_map);";
    die "Can't load $T: $@." if $@;
}
 
my $m= $T->new({ width => 12, height => 15 });
my $accum;
 
$accum = '';

t/02-passability.t  view on Meta::CPAN

116
117
118
119
120
121
122
123
124
125
126
127
            is($m->get_passability($x,$y), $count, "check fix no offset");
            $m->set_start_xy(13, 20);
            is($m->get_passability($x+13,$y+20), $count, "check fix with offset");
            $m->set_start_xy(0,0);
        }
    }
}
#########################
 
# Insert your test code below, the Test::More module is use()ed here so read
# its man page ( perldoc Test::More ) for help writing this test script.

t/03-path-valid.t  view on Meta::CPAN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use Test::More 'no_plan';
1 for $Test::More::TODO;
 
my $T;
 
BEGIN{
    $T = "AI::Pathfinding::AStar::Rectangle";
    eval "use ExtUtils::testlib;" unless grep { m/testlib/ } keys %INC;
    eval "use $T";
}
 
my $m  = $T->new({ width => 5, height => 5 });
for my $d ("0".."9"){
    is_deeply([$m->is_path_valid(0,0,$d)], ['']);
    #print Dumper([$m->is_path_valid(0,0,$d)], ['']);
};
 
$m->set_start_xy(2,5);

t/04-astar.t  view on Meta::CPAN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!perl
use Test::More 'no_plan';
1 for $Test::More::TODO;
 
my $T;
 
BEGIN {
    $T = "AI::Pathfinding::AStar::Rectangle";
    eval "use ExtUtils::testlib;" unless grep { m/testlib/ } keys %INC;
    eval "use $T";
}
 
{
    my $m = $T->new( { width => 5, height => 5 } );
    for my $d ( "0" .. "9" ) {
 
        #    is_deeply([$m->validate_path(0,0,$d)], ['']);
        #    print Dumper([$m->validate_path(0,0,$d)], ['']);
    }

t/05-foreach.t  view on Meta::CPAN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!perl
use Test::More 'no_plan';
1 for $Test::More::TODO;
my $T;
 
BEGIN {
    $T = "AI::Pathfinding::AStar::Rectangle";
    eval "use ExtUtils::testlib;" unless grep { m/testlib/ } keys %INC;
    eval "use $T";
}
 
{
    my $m = $T->new( { width => 5, height => 5 } );
    $a = "TODO_a";
    $b = "TODO_b";
    $_ = "TODO__";
 
    my $ok = 1;

t/06-setstart.t  view on Meta::CPAN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!perl
use Test::More 'no_plan';
1 for $Test::More::TODO;
my $T;
 
BEGIN {
    $T = "AI::Pathfinding::AStar::Rectangle";
    eval "use ExtUtils::testlib;" unless grep { m/testlib/ } keys %INC;
    eval "use $T";
}
 
 
{
 
    my $m = $T->new( { width => 5, height => 5 } );
    $m->set_start_xy(-1, 0);
    is( $m->begin_x, -1, "begin_x (1)");
    is( $m->begin_y,  0, "begin_y (1)");

t/07-dastar.t  view on Meta::CPAN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!perl
use Test::More 'no_plan';
1 for $Test::More::TODO;
 
my $T;
 
BEGIN {
    $T = "AI::Pathfinding::AStar::Rectangle";
    eval "use ExtUtils::testlib;" unless grep { m/testlib/ } keys %INC;
    eval "use $T";
}
 
{
    my $m = $T->new( { width => 5, height => 5 } );
 
    $m->set_start_xy( 2, 5 );
 
    for my $x ( 2 .. 6 ) {
        for my $y ( 5 .. 9 ) {



( run in 0.317 second using v1.01-cache-2.11-cpan-2b0bae70ee8 )