line |
true |
false |
branch |
255
|
0 |
225 |
unless $obj_data |
272
|
3443 |
157 |
if ($old_piece->isa('Chess::Piece::King') or not $old_piece->captured) { } |
277
|
225 |
3218 |
if defined $new_piece and $new_piece->isa('Chess::Piece::King') |
282
|
157 |
292 |
if ($capture eq $old_piece) |
291
|
3203 |
397 |
if ($old_piece->isa('Chess::Piece::King') or not $old_piece->captured) { } |
296
|
225 |
2978 |
if defined $new_piece and $new_piece->isa('Chess::Piece::King') |
301
|
397 |
1562 |
if ($capture eq $old_piece) |
319
|
397 |
980 |
if $p1_move->is_capture |
320
|
0 |
1377 |
if $p1_move->is_short_castle |
321
|
0 |
1377 |
if $p1_move->is_long_castle |
322
|
38 |
1339 |
if $p1_move->is_en_passant |
324
|
1213 |
164 |
if (defined $p2_move) |
329
|
157 |
1056 |
if $p2_move->is_capture |
330
|
14 |
1199 |
if $p2_move->is_short_castle |
331
|
0 |
1213 |
if $p2_move->is_long_castle |
332
|
0 |
1213 |
if $p2_move->is_en_passant |
351
|
0 |
3 |
unless ref $self |
353
|
0 |
3 |
unless $obj_data |
359
|
0 |
0 |
unless ref $self |
361
|
0 |
0 |
unless $obj_data |
362
|
0 |
0 |
if (defined $player) { } |
374
|
0 |
0 |
unless ref $self |
376
|
0 |
0 |
unless $obj_data |
382
|
0 |
2 |
unless ref $self |
384
|
0 |
2 |
unless $obj_data |
390
|
0 |
8 |
unless ref $self |
392
|
0 |
8 |
unless $obj_data |
400
|
0 |
2 |
unless ref $self |
402
|
0 |
2 |
unless $obj_data |
404
|
2 |
0 |
if exists $$captures{$player}{$movenum} |
420
|
291 |
1821 |
if $p1_piece->isa('Chess::Piece::King') or $p1_piece->captured |
423
|
1757 |
64 |
unless $p1_piece->can_reach($p2_sq) |
424
|
1 |
63 |
if ($p1_piece->isa('Chess::Piece::Pawn')) { } |
|
0 |
63 |
elsif ($p1_piece->isa('Chess::Piece::King')) { } |
|
63 |
0 |
elsif (not $p1_piece->isa('Chess::Piece::Knight')) { } |
425
|
0 |
1 |
if 'Chess::Board'->horz_distance($p1_sq, $p2_sq) == 0 |
428
|
0 |
0 |
if 'Chess::Board'->horz_distance($p1_sq, $p2_sq) == 2 |
434
|
19 |
44 |
unless $board_c->line_is_open($p1_sq, $p2_sq) |
439
|
344 |
1768 |
if $p2_piece->isa('Chess::Piece::King') or $p2_piece->captured |
442
|
1757 |
11 |
unless $p2_piece->can_reach($p1_sq) |
443
|
0 |
11 |
if ($p2_piece->isa('Chess::Piece::Pawn')) { } |
|
0 |
11 |
elsif ($p2_piece->isa('Chess::Piece::King')) { } |
|
9 |
2 |
elsif (not $p2_piece->isa('Chess::Piece::Knight')) { } |
444
|
0 |
0 |
if 'Chess::Board'->horz_distance($p1_sq, $p2_sq) == 0 |
447
|
0 |
0 |
if 'Chess::Board'->horz_distance($p1_sq, $p2_sq) == 2 |
453
|
4 |
5 |
unless $board_c->line_is_open($p1_sq, $p2_sq) |
465
|
3 |
42 |
unless $move |
467
|
28 |
14 |
unless $piece2->isa('Chess::Piece::Pawn') |
471
|
8 |
6 |
if ($piece2->get_player eq $player1) { } |
472
|
8 |
0 |
unless 'Chess::Board'->square_up_from($sq2) eq $p2_sq |
475
|
4 |
2 |
unless 'Chess::Board'->square_down_from($sq2) eq $p2_sq |
486
|
3 |
4 |
$player eq $player1 ? : |
487
|
3 |
4 |
unless $sq2 eq $tsq |
488
|
0 |
4 |
unless (not $piece->moved) |
493
|
2 |
2 |
if ($player eq $player1) { } |
499
|
0 |
4 |
unless (defined $rook and not $rook->moved) |
503
|
2 |
2 |
$player eq $player1 ? : |
504
|
2 |
2 |
$player eq $player1 ? : |
508
|
1 |
3 |
unless ($board_c->line_is_open($king_sq, $rook_sq)) |
521
|
3 |
3 |
$player eq $player1 ? : |
522
|
3 |
3 |
unless $sq2 eq $tsq |
523
|
0 |
3 |
unless (not $piece->moved) |
528
|
3 |
0 |
if ($player eq $player1) { } |
534
|
1 |
2 |
unless (defined $rook and not $rook->moved) |
538
|
2 |
0 |
$player eq $player1 ? : |
539
|
2 |
0 |
$player eq $player1 ? : |
543
|
0 |
2 |
unless ($board_c->line_is_open($king_sq, $rook_sq)) |
552
|
0 |
371 |
unless ('Chess::Board'->square_is_valid($sq1)) |
556
|
0 |
371 |
unless ('Chess::Board'->square_is_valid($sq2)) |
560
|
0 |
371 |
unless ref $self |
562
|
0 |
371 |
unless $obj_data |
567
|
0 |
371 |
unless (defined $piece) |
574
|
1 |
370 |
if (defined $last_moved and $last_moved eq $player or not defined $last_moved and $player ne $player1) |
579
|
0 |
370 |
unless $piece->can_reach($sq2) |
581
|
171 |
199 |
if (defined $capture) { } |
582
|
127 |
44 |
unless ($capture->get_player ne $player) |
586
|
6 |
38 |
if ($piece->isa('Chess::Piece::Pawn')) { } |
|
1 |
37 |
elsif ($piece->isa('Chess::Piece::King')) { } |
587
|
3 |
3 |
unless (abs 'Chess::Board'->horz_distance($sq1, $sq2) == 1) |
593
|
1 |
0 |
unless (abs 'Chess::Board'->horz_distance($sq1, $sq2) < 2) |
600
|
61 |
138 |
if ($piece->isa('Chess::Piece::Pawn')) |
602
|
17 |
44 |
unless ('Chess::Board'->horz_distance($sq1, $sq2) == 0 or _is_valid_en_passant($obj_data, $piece, $sq1, $sq2)) |
612
|
58 |
164 |
$player eq $player1 ? : |
613
|
14 |
208 |
if ($piece->isa('Chess::Piece::King')) { } |
|
191 |
17 |
elsif (not $piece->isa('Chess::Piece::Knight')) { } |
615
|
6 |
8 |
if (abs $hdist == 2) |
617
|
1 |
5 |
unless (not $king->threatened) |
621
|
3 |
2 |
if ($hdist > 0) { } |
622
|
1 |
2 |
unless _is_valid_short_castle($obj_data, $piece, $sq1, $sq2) |
626
|
1 |
1 |
unless _is_valid_long_castle($obj_data, $piece, $sq1, $sq2) |
635
|
105 |
86 |
unless ($board_c->line_is_open($sq1, $sq2)) |
640
|
111 |
3 |
if (not $valid_castle) { } |
643
|
35 |
76 |
unless (not $king->threatened) |
649
|
2 |
1 |
if ($valid_castle == 2) { } |
653
|
1 |
1 |
unless (not $king->threatened) |
659
|
0 |
1 |
unless (not $king->threatened) |
668
|
0 |
1 |
unless (not $king->threatened) |
674
|
0 |
1 |
unless (not $king->threatened) |
687
|
1 |
202 |
unless defined $validate |
688
|
0 |
203 |
unless ('Chess::Board'->square_is_valid($sq1)) |
692
|
0 |
203 |
unless ('Chess::Board'->square_is_valid($sq2)) |
696
|
84 |
119 |
if ($validate) |
697
|
8 |
76 |
unless $self->is_move_legal($sq1, $sq2) |
699
|
0 |
195 |
unless ref $self |
701
|
0 |
195 |
unless $obj_data |
707
|
0 |
195 |
unless (defined $piece) |
714
|
30 |
165 |
if ($validate and $piece->isa('Chess::Piece::Pawn')) |
715
|
13 |
17 |
if ($player eq $player1) { } |
716
|
0 |
13 |
if 'Chess::Board'->vert_distance('d8', $sq2) == 0 |
719
|
2 |
15 |
if 'Chess::Board'->vert_distance('d1', $sq2) == 0 |
722
|
32 |
163 |
if (defined $capture) { } |
734
|
1 |
162 |
if ($validate and $piece->isa('Chess::Piece::Pawn') and _is_valid_en_passant($obj_data, $piece, $sq1, $sq2)) { } |
751
|
4 |
158 |
if ($validate and $piece->isa('Chess::Piece::King')) |
752
|
1 |
3 |
if _is_valid_short_castle($obj_data, $piece, $sq1, $sq2) |
753
|
1 |
3 |
if _is_valid_long_castle($obj_data, $piece, $sq1, $sq2) |
755
|
2 |
160 |
if ($flags & 2 or $flags & 4) { } |
758
|
1 |
1 |
if ($player eq $player1) { } |
759
|
0 |
1 |
$flags & 2 ? : |
760
|
0 |
1 |
$flags & 2 ? : |
762
|
0 |
1 |
$flags & 2 ? : |
765
|
1 |
0 |
$flags & 2 ? : |
766
|
1 |
0 |
$flags & 2 ? : |
768
|
1 |
0 |
$flags & 2 ? : |
802
|
0 |
4 |
unless ref $self |
804
|
0 |
4 |
unless $obj_data |
810
|
3 |
1 |
if (defined $move) |
816
|
1 |
2 |
if ($move->is_promotion) |
819
|
0 |
3 |
if ($move->is_capture) { } |
|
0 |
3 |
elsif ($move->is_short_castle) { } |
|
0 |
3 |
elsif ($move->is_long_castle) { } |
821
|
0 |
0 |
if ($move->is_en_passant) |
822
|
0 |
0 |
if ($player eq $player1) { } |
834
|
0 |
0 |
if $piece->_firstmoved == $movenum |
837
|
0 |
0 |
$player eq $player1 ? : |
838
|
0 |
0 |
$player eq $player1 ? : |
839
|
0 |
0 |
$player eq $player1 ? : |
840
|
0 |
0 |
$player eq $player1 ? : |
852
|
0 |
0 |
$player eq $player1 ? : |
853
|
0 |
0 |
$player eq $player1 ? : |
854
|
0 |
0 |
$player eq $player1 ? : |
855
|
0 |
0 |
$player eq $player1 ? : |
870
|
3 |
0 |
if $piece->_firstmoved == $movenum |
882
|
5 |
4 |
if (exists $$obj_data{'_player_has_moves'}{$player}{$movenum}) |
886
|
6 |
37 |
if not $piece->isa('Chess::Piece::King') and $piece->captured |
890
|
2 |
285 |
if ($self->is_move_legal($csq, $sq)) |
902
|
0 |
2 |
unless ref $self |
904
|
0 |
2 |
unless $obj_data |
910
|
0 |
2 |
unless $move->is_promotion |
920
|
0 |
10 |
unless ref $self |
922
|
0 |
10 |
unless $obj_data |
925
|
2 |
8 |
$player eq $player1 ? : |
931
|
1 |
4 |
unless $self->player_in_check($player) |
932
|
1 |
3 |
if ($self->_player_has_moves($player)) { } |
942
|
1 |
2 |
if $self->player_in_check($player) |
943
|
0 |
2 |
if ($self->_player_has_moves($player)) { } |
953
|
0 |
3 |
unless ref $self |
955
|
0 |
3 |
unless $obj_data |
960
|
2 |
1 |
$last_moved eq $player1 ? : |
961
|
1 |
2 |
if $self->_player_has_moves($player) |
962
|
1 |
1 |
if $self->player_stalemated($player) |
963
|
1 |
0 |
if $self->player_checkmated($player) and $player eq $player2 |
964
|
0 |
0 |
if $self->player_checkmated($player) |