| line |
true |
false |
branch |
|
128
|
2 |
8 |
if (ref $class) |
|
130
|
2 |
0 |
if ($class->isa('Games::Maze')) |
|
151
|
0 |
42 |
unless (defined $ref_type) |
|
157
|
18 |
24 |
if $ref_type eq 'scalar' |
|
158
|
24 |
18 |
if $ref_type eq 'array' |
|
166
|
0 |
8 |
if @{$$self{'dimensions'};} < 1 |
|
167
|
0 |
8 |
if @{$$self{'dimensions'};} < 2 |
|
168
|
1 |
7 |
if @{$$self{'dimensions'};} < 3 |
|
173
|
0 |
8 |
unless ($$self{'form'} =~ /^(?:Rectangle|Hexagon)$/) |
|
178
|
0 |
8 |
unless ($$self{'cell'} =~ /^(?:Quad|Hex)$/) |
|
236
|
0 |
8 |
unless exists $$self{'form'} |
|
240
|
0 |
8 |
unless $self->_set_internals |
|
296
|
0 |
8 |
if $$self{'_status'} ne 'reset' |
|
305
|
1076 |
971 |
if (@dir > 0) { } |
|
311
|
963 |
113 |
if @dir > 1 |
|
319
|
0 |
1076 |
if $Debug_make_vx |
|
320
|
0 |
1076 |
if $Debug_make_ascii |
|
324
|
8 |
963 |
if @queue == 0 |
|
346
|
0 |
6 |
if $$self{'_status'} ne 'make' |
|
347
|
0 |
6 |
unless $self |
|
364
|
748 |
2128 |
if $self->_wall_open($dir, $c, $r, $l) |
|
372
|
96 |
652 |
if ($self->_on_pathmark($cc, $rr, $ll)) { } |
|
383
|
0 |
748 |
if $Debug_solve_vx |
|
384
|
0 |
748 |
if $Debug_solve_ascii |
|
402
|
0 |
6 |
if $$self{'_status'} eq 'make' |
|
404
|
6 |
0 |
if ($$self{'_status'} eq 'solve') { } |
|
464
|
0 |
10 |
wantarray ? : |
|
693
|
0 |
3 |
wantarray ? : |
|
711
|
2 |
0 |
if ($$self{'form'} eq 'Rectangle') { } |
|
713
|
0 |
2 |
if ($cols < 2 or $rows < 2 or $lvls < 1) |
|
731
|
1 |
1 |
if (defined $$self{'start'}) |
|
735
|
0 |
1 |
if (not defined $start[0] or $start[0] < 1 or $start[0] > $$self{'_cols'}) |
|
741
|
0 |
1 |
if (not defined $start[1] or $start[1] < 1 or $start[1] > $$self{'_rows'}) |
|
747
|
0 |
1 |
if (not defined $start[2] or $start[2] < 1 or $start[2] > $$self{'_rows'}) |
|
800
|
1 |
1 |
if (defined $$self{'entry'}) { } |
|
804
|
0 |
1 |
if ($entry[0] < 1 or $entry[0] > $$self{'_cols'}) |
|
820
|
1 |
1 |
if (defined $$self{'exit'}) { } |
|
824
|
0 |
1 |
if ($exit[0] < 1 or $exit[0] > $$self{'_cols'}) |
|
853
|
1 |
1 |
if defined $$self{'start'} |
|
875
|
0 |
362 |
if $Debug_internal |
|
877
|
299 |
63 |
if ($dir == $Games::Maze::North or $dir == $Games::Maze::South) { } |
|
|
58 |
5 |
elsif ($dir == $Games::Maze::East or $dir == $Games::Maze::West) { } |
|
879
|
146 |
153 |
$dir == $Games::Maze::North ? : |
|
883
|
14 |
44 |
$dir == $Games::Maze::West ? : |
|
887
|
1 |
4 |
$dir == $Games::Maze::Ceiling ? : |
|
890
|
161 |
201 |
$dir <= $Games::Maze::Ceiling ? : |
|
892
|
0 |
362 |
if $Debug_internal |
|
913
|
105 |
377 |
if $$m[$l][$r - 1][$c] == 0 |
|
914
|
22 |
460 |
if $$m[$l][$r][$c - 1] == 0 |
|
915
|
117 |
365 |
if $$m[$l][$r + 1][$c] == 0 |
|
916
|
216 |
266 |
if $$m[$l][$r][$c + 1] == 0 |
|
917
|
70 |
412 |
if $$m[$l - 1][$r][$c] == 0 |
|
918
|
99 |
383 |
if $$m[$l + 1][$r][$c] == 0 |
|
920
|
0 |
482 |
if $Debug_internal |
|
934
|
0 |
303 |
if $Debug_internal |
|
935
|
41 |
262 |
if ($dir == $Games::Maze::Floor) { } |
|
|
60 |
202 |
elsif ($dir == $Games::Maze::Ceiling) { } |
|
947
|
0 |
303 |
if $Debug_internal |
|
1018
|
165 |
168 |
if ($self->_up_column($c)) { } |
|
1044
|
1689 |
1689 |
if ($self->_up_column($c)) { } |
|
1061
|
1689 |
1689 |
if ($self->_up_column($c)) { } |
|
1077
|
0 |
15 |
wantarray ? : |
|
1095
|
2 |
4 |
if ($$self{'form'} eq 'Rectangle') { } |
|
|
4 |
0 |
elsif ($$self{'form'} eq 'Hexagon') { } |
|
1097
|
0 |
2 |
if ($cols < 2 or $rows < 2 or $lvls < 1) |
|
1103
|
0 |
2 |
unless defined $$self{'upcolumn_even'} |
|
1110
|
0 |
4 |
if ($cols < 2 or $rows < 1 or $lvls < 1) |
|
1130
|
5 |
1 |
if (defined $$self{'start'}) |
|
1134
|
0 |
5 |
if (not defined $start[0] or $start[0] < 1 or $start[0] > $$self{'_cols'}) |
|
1140
|
0 |
5 |
if (not defined $start[1] or $start[1] < 1 or $start[1] > $$self{'_rows'}) |
|
1148
|
0 |
4 |
if (not defined $start[2] or $start[2] < 1 or $start[2] > $$self{'_rows'}) |
|
1173
|
2 |
4 |
if ($$self{'form'} eq 'Rectangle') { } |
|
|
4 |
0 |
elsif ($$self{'form'} eq 'Hexagon') { } |
|
1183
|
12 |
12 |
if ($self->_up_column($c)) { } |
|
1207
|
1 |
1 |
if ($self->_up_column(1)) { } |
|
1219
|
1 |
1 |
if ($self->_up_column($$self{'_cols'} + 1)) { } |
|
1242
|
2 |
2 |
if ($self->_up_column($$self{'_cols'} + 1)) { } |
|
1318
|
5 |
1 |
if (defined $$self{'entry'}) { } |
|
1322
|
0 |
5 |
if ($entry[0] < 1 or $entry[0] > $$self{'_cols'}) |
|
1343
|
5 |
1 |
if (defined $$self{'exit'}) { } |
|
1347
|
0 |
5 |
if ($exit[0] < 1 or $exit[0] > $$self{'_cols'}) |
|
1380
|
5 |
1 |
if defined $$self{'start'} |
|
1405
|
0 |
1462 |
if $Debug_internal |
|
1406
|
820 |
642 |
if ($dir == $Games::Maze::North or $dir == $Games::Maze::South) { } |
|
|
29 |
613 |
elsif ($dir == $Games::Maze::Ceiling or $dir == $Games::Maze::Floor) { } |
|
1408
|
473 |
347 |
$dir == $Games::Maze::North ? : |
|
1412
|
11 |
18 |
$dir == $Games::Maze::Ceiling ? : |
|
1416
|
305 |
308 |
if ($self->_up_column($c)) { } |
|
1418
|
31 |
274 |
if $dir == $Games::Maze::NorthWest or $dir == $Games::Maze::NorthEast |
|
1422
|
186 |
122 |
if $dir == $Games::Maze::SouthWest or $dir == $Games::Maze::SouthEast |
|
1425
|
256 |
357 |
if ($dir == $Games::Maze::NorthWest or $dir == $Games::Maze::SouthWest) { } |
|
|
357 |
0 |
elsif ($dir == $Games::Maze::NorthEast or $dir == $Games::Maze::SouthEast) { } |
|
1435
|
740 |
722 |
$dir <= $Games::Maze::Ceiling ? : |
|
1437
|
0 |
1462 |
if $Debug_internal |
|
1458
|
318 |
1247 |
if $$m[$l][$r - 1][$c] == 0 |
|
1460
|
774 |
791 |
if ($self->_up_column($c)) { } |
|
1462
|
12 |
762 |
if $$m[$l][$r - 1][$c - 1] == 0 |
|
1463
|
79 |
695 |
if $$m[$l][$r][$c - 1] == 0 |
|
1465
|
149 |
625 |
if $$m[$l][$r + 1][$c] == 0 |
|
1467
|
327 |
447 |
if $$m[$l][$r][$c + 1] == 0 |
|
1468
|
258 |
516 |
if $$m[$l][$r - 1][$c + 1] == 0 |
|
1472
|
46 |
745 |
if $$m[$l][$r][$c - 1] == 0 |
|
1473
|
83 |
708 |
if $$m[$l][$r + 1][$c - 1] == 0 |
|
1475
|
242 |
549 |
if $$m[$l][$r + 1][$c] == 0 |
|
1477
|
328 |
463 |
if $$m[$l][$r + 1][$c + 1] == 0 |
|
1478
|
299 |
492 |
if $$m[$l][$r][$c + 1] == 0 |
|
1481
|
294 |
1271 |
if $$m[$l - 1][$r][$c] == 0 |
|
1482
|
42 |
1523 |
if $$m[$l + 1][$r][$c] == 0 |
|
1484
|
0 |
1565 |
if $Debug_internal |
|
1498
|
0 |
2573 |
if $Debug_internal |
|
1499
|
319 |
2254 |
if ($dir == $Games::Maze::Floor) { } |
|
|
367 |
1887 |
elsif ($dir == $Games::Maze::NorthWest) { } |
|
|
276 |
1611 |
elsif ($dir == $Games::Maze::SouthEast) { } |
|
1515
|
0 |
2573 |
if $Debug_internal |
|
1542
|
0 |
0 |
if ($$self{'form'} eq 'Hexagon') { } |
|
1548
|
0 |
0 |
if ($r <= $ante_r) { } |
|
|
0 |
0 |
elsif ($r > $post_r) { } |
|
1584
|
57 |
4 |
if ($$self{'form'} eq 'Hexagon') { } |