You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.7 KiB
77 lines
1.7 KiB
5 years ago
|
#ifndef BITWISE_CONSTANTS_H
|
||
|
#define BITWISE_CONSTANTS_H
|
||
|
|
||
|
#include <array>
|
||
|
#include <iostream>
|
||
|
|
||
|
enum Color {
|
||
|
NO_COLOR,
|
||
|
WHITE,
|
||
|
BLACK
|
||
|
};
|
||
|
|
||
|
enum PieceType {
|
||
|
NONE,
|
||
|
B_PAWN, B_KNIGHT, B_BISHOP, B_ROOK, B_QUEEN, B_KING,
|
||
|
W_PAWN, W_KNIGHT, W_BISHOP, W_ROOK, W_QUEEN, W_KING
|
||
|
};
|
||
|
namespace Pieces{
|
||
|
const std::array<PieceType, 6> WHITE = {W_PAWN, W_KNIGHT, W_BISHOP, W_ROOK, W_QUEEN, W_KING};
|
||
|
const std::array<PieceType, 6> BLACK = {B_PAWN, B_KNIGHT, B_BISHOP, B_ROOK, B_QUEEN, B_KING};
|
||
|
}
|
||
|
enum Position {
|
||
|
NA=-1,
|
||
|
A8=21, B8, C8, D8, E8, F8, G8, H8,
|
||
|
A7=31, B7, C7, D7, E7, F7, G7, H7,
|
||
|
A6=41, B6, C6, D6, E6, F6, G6, H6,
|
||
|
A5=51, B5, C5, D5, E5, F5, G5, H5,
|
||
|
A4=61, B4, C4, D4, E4, F4, G4, H4,
|
||
|
A3=71, B3, C3, D3, E3, F3, G3, H3,
|
||
|
A2=81, B2, C2, D2, E2, F2, G2, H2,
|
||
|
A1=91, B1, C1, D1, E1, F1, G1, H1
|
||
|
};
|
||
|
|
||
|
enum Rank{
|
||
|
RANK1,
|
||
|
RANK2,
|
||
|
RANK3,
|
||
|
RANK4,
|
||
|
RANK5,
|
||
|
RANK6,
|
||
|
RANK7,
|
||
|
RANK8
|
||
|
};
|
||
|
|
||
|
enum File {
|
||
|
FILE1,
|
||
|
FILE2,
|
||
|
FILE3,
|
||
|
FILE4,
|
||
|
FILE5,
|
||
|
FILE6,
|
||
|
FILE7,
|
||
|
FILE8
|
||
|
};
|
||
|
|
||
|
std::array<int, 120> DEFAULT_BOARD = {
|
||
|
NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,
|
||
|
NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,
|
||
|
NA, B_ROOK, B_KNIGHT, B_BISHOP, B_QUEEN, B_KING, B_BISHOP, B_KNIGHT, B_ROOK, NA,
|
||
|
NA, B_PAWN, B_PAWN, B_PAWN, B_PAWN, B_PAWN, B_PAWN, B_PAWN, B_PAWN, NA,
|
||
|
NA, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NA,
|
||
|
NA, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NA,
|
||
|
NA, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NA,
|
||
|
NA, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NA,
|
||
|
NA, W_PAWN, W_PAWN, W_PAWN, W_PAWN, W_PAWN, W_PAWN, W_PAWN, W_PAWN, NA,
|
||
|
NA, W_ROOK, W_KNIGHT, W_BISHOP, W_QUEEN, W_KING, W_BISHOP, W_KNIGHT, W_ROOK, NA,
|
||
|
NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,
|
||
|
NA,NA,NA,NA,NA,NA,NA,NA,NA,NA
|
||
|
};
|
||
|
|
||
|
char CHESS_CHARS[13] = {
|
||
|
' ',
|
||
|
'P', 'N', 'B', 'R', 'Q', 'K',
|
||
|
'p', 'n', 'b', 'r', 'q', 'k'
|
||
|
};
|
||
|
#endif
|