| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
# -*- mode: cperl -*- |
|
2
|
|
|
|
|
|
|
package Chess4p::Common; |
|
3
|
|
|
|
|
|
|
|
|
4
|
4
|
|
|
4
|
|
316216
|
use v5.36; |
|
|
4
|
|
|
|
|
15
|
|
|
5
|
|
|
|
|
|
|
|
|
6
|
4
|
|
|
4
|
|
21
|
use Exporter 'import'; |
|
|
4
|
|
|
|
|
23
|
|
|
|
4
|
|
|
|
|
1033
|
|
|
7
|
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
our @EXPORT_OK = qw( |
|
9
|
|
|
|
|
|
|
EMPTY WP WN WB WR WQ WK |
|
10
|
|
|
|
|
|
|
BP BN BB BR BQ BK |
|
11
|
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
A1 B1 C1 D1 E1 F1 G1 H1 |
|
13
|
|
|
|
|
|
|
A2 B2 C2 D2 E2 F2 G2 H2 |
|
14
|
|
|
|
|
|
|
A3 B3 C3 D3 E3 F3 G3 H3 |
|
15
|
|
|
|
|
|
|
A4 B4 C4 D4 E4 F4 G4 H4 |
|
16
|
|
|
|
|
|
|
A5 B5 C5 D5 E5 F5 G5 H5 |
|
17
|
|
|
|
|
|
|
A6 B6 C6 D6 E6 F6 G6 H6 |
|
18
|
|
|
|
|
|
|
A7 B7 C7 D7 E7 F7 G7 H7 |
|
19
|
|
|
|
|
|
|
A8 B8 C8 D8 E8 F8 G8 H8 |
|
20
|
|
|
|
|
|
|
|
|
21
|
|
|
|
|
|
|
FILE_A FILE_B FILE_C FILE_D |
|
22
|
|
|
|
|
|
|
FILE_E FILE_F FILE_G FILE_H |
|
23
|
|
|
|
|
|
|
|
|
24
|
|
|
|
|
|
|
RANK_1 RANK_2 RANK_3 RANK_4 |
|
25
|
|
|
|
|
|
|
RANK_5 RANK_6 RANK_7 RANK_8 |
|
26
|
|
|
|
|
|
|
|
|
27
|
|
|
|
|
|
|
%square_names |
|
28
|
|
|
|
|
|
|
%square_numbers |
|
29
|
|
|
|
|
|
|
); |
|
30
|
|
|
|
|
|
|
|
|
31
|
|
|
|
|
|
|
use constant { |
|
32
|
4
|
|
|
|
|
3589
|
EMPTY => 0, |
|
33
|
|
|
|
|
|
|
WP => 1, WN => 2, WB => 3, WR => 4, WQ => 5, WK => 6, |
|
34
|
|
|
|
|
|
|
BP => 7, BN => 8, BB => 9, BR => 10, BQ => 11, BK => 12, |
|
35
|
|
|
|
|
|
|
|
|
36
|
|
|
|
|
|
|
A1 => 0, B1 => 1, C1 => 2, D1 => 3, E1 => 4, F1 => 5, G1 => 6, H1 => 7, |
|
37
|
|
|
|
|
|
|
A2 => 8, B2 => 9, C2 => 10, D2 => 11, E2 => 12, F2 => 13, G2 => 14, H2 => 15, |
|
38
|
|
|
|
|
|
|
A3 => 16, B3 => 17, C3 => 18, D3 => 19, E3 => 20, F3 => 21, G3 => 22, H3 => 23, |
|
39
|
|
|
|
|
|
|
A4 => 24, B4 => 25, C4 => 26, D4 => 27, E4 => 28, F4 => 29, G4 => 30, H4 => 31, |
|
40
|
|
|
|
|
|
|
A5 => 32, B5 => 33, C5 => 34, D5 => 35, E5 => 36, F5 => 37, G5 => 38, H5 => 39, |
|
41
|
|
|
|
|
|
|
A6 => 40, B6 => 41, C6 => 42, D6 => 43, E6 => 44, F6 => 45, G6 => 46, H6 => 47, |
|
42
|
|
|
|
|
|
|
A7 => 48, B7 => 49, C7 => 50, D7 => 51, E7 => 52, F7 => 53, G7 => 54, H7 => 55, |
|
43
|
|
|
|
|
|
|
A8 => 56, B8 => 57, C8 => 58, D8 => 59, E8 => 60, F8 => 61, G8 => 62, H8 => 63, |
|
44
|
|
|
|
|
|
|
|
|
45
|
|
|
|
|
|
|
FILE_A => 0, FILE_B => 1, FILE_C => 2, FILE_D => 3, |
|
46
|
|
|
|
|
|
|
FILE_E => 4, FILE_F => 5, FILE_G => 6, FILE_H => 7, |
|
47
|
|
|
|
|
|
|
|
|
48
|
|
|
|
|
|
|
RANK_1 => 0, RANK_2 => 1, RANK_3 => 2, RANK_4 => 3, |
|
49
|
|
|
|
|
|
|
RANK_5 => 4, RANK_6 => 5, RANK_7 => 6, RANK_8 => 7, |
|
50
|
4
|
|
|
4
|
|
28
|
}; |
|
|
4
|
|
|
|
|
17
|
|
|
51
|
|
|
|
|
|
|
|
|
52
|
|
|
|
|
|
|
our %square_numbers = ( |
|
53
|
|
|
|
|
|
|
'a1' => A1, 'b1' => B1, 'c1' => C1, 'd1' => D1, 'e1' => E1, 'f1' => F1, 'g1' => G1, 'h1' => H1, |
|
54
|
|
|
|
|
|
|
'a2' => A2, 'b2' => B2, 'c2' => C2, 'd2' => D2, 'e2' => E2, 'f2' => F2, 'g2' => G2, 'h2' => H2, |
|
55
|
|
|
|
|
|
|
'a3' => A3, 'b3' => B3, 'c3' => C3, 'd3' => D3, 'e3' => E3, 'f3' => F3, 'g3' => G3, 'h3' => H3, |
|
56
|
|
|
|
|
|
|
'a4' => A4, 'b4' => B4, 'c4' => C4, 'd4' => D4, 'e4' => E4, 'f4' => F4, 'g4' => G4, 'h4' => H4, |
|
57
|
|
|
|
|
|
|
'a5' => A5, 'b5' => B5, 'c5' => C5, 'd5' => D5, 'e5' => E5, 'f5' => F5, 'g5' => G5, 'h5' => H5, |
|
58
|
|
|
|
|
|
|
'a6' => A6, 'b6' => B6, 'c6' => C6, 'd6' => D6, 'e6' => E6, 'f6' => F6, 'g6' => G6, 'h6' => H6, |
|
59
|
|
|
|
|
|
|
'a7' => A7, 'b7' => B7, 'c7' => C7, 'd7' => D7, 'e7' => E7, 'f7' => F7, 'g7' => G7, 'h7' => H7, |
|
60
|
|
|
|
|
|
|
'a8' => A8, 'b8' => B8, 'c8' => C8, 'd8' => D8, 'e8' => E8, 'f8' => F8, 'g8' => G8, 'h8' => H8, |
|
61
|
|
|
|
|
|
|
); |
|
62
|
|
|
|
|
|
|
|
|
63
|
|
|
|
|
|
|
our %square_names = reverse %square_numbers; |
|
64
|
|
|
|
|
|
|
|
|
65
|
|
|
|
|
|
|
|
|
66
|
|
|
|
|
|
|
1; |