1
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
35
36
37
38
39
40
41
42
43
44
45
46
47
| module Fork
PAWN = 0
KNIGHT = 1
BISHOP = 2
ROOK = 3
QUEEN = 4
KING = 5
TYPES = [PAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING]
WHITE = 0
BLACK = 1
DRAW = 2
SIDES = [WHITE, BLACK]
def self.enemy(side)
side == BLACK ? WHITE : BLACK
end
struct Piece
getter type : Int32
getter side : Int32
getter index : Int32
def initialize(@type, @side, @index)
end
def to_c
c = '?'
case @type
when PAWN
c = 'p'
when KNIGHT
c = 'n'
when BISHOP
c = 'b'
when ROOK
c = 'r'
when QUEEN
c = 'q'
when KING
c = 'k'
end
c = c.upcase if @side == WHITE
c
end
end
end
|