| 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') { } |