mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-19 08:36:33 +08:00
Move constants from piece.cpp to piece.h
Leave in piece.cpp only a couple of functions that need #include <cstring> Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
@@ -27,48 +27,11 @@
|
|||||||
#include "piece.h"
|
#include "piece.h"
|
||||||
|
|
||||||
|
|
||||||
////
|
|
||||||
//// Constants and variables
|
|
||||||
////
|
|
||||||
|
|
||||||
const int SlidingArray[18] = {
|
|
||||||
0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0
|
|
||||||
};
|
|
||||||
|
|
||||||
const SquareDelta Directions[16][16] = {
|
|
||||||
{DELTA_ZERO},
|
|
||||||
{DELTA_NW, DELTA_NE, DELTA_ZERO},
|
|
||||||
{DELTA_SSW, DELTA_SSE, DELTA_SWW, DELTA_SEE,
|
|
||||||
DELTA_NWW, DELTA_NEE, DELTA_NNW, DELTA_NNE, DELTA_ZERO},
|
|
||||||
{DELTA_SE, DELTA_SW, DELTA_NE, DELTA_NW, DELTA_ZERO},
|
|
||||||
{DELTA_S, DELTA_E, DELTA_W, DELTA_N, DELTA_ZERO},
|
|
||||||
{DELTA_S, DELTA_E, DELTA_W, DELTA_N,
|
|
||||||
DELTA_SE, DELTA_SW, DELTA_NE, DELTA_NW, DELTA_ZERO},
|
|
||||||
{DELTA_S, DELTA_E, DELTA_W, DELTA_N,
|
|
||||||
DELTA_SE, DELTA_SW, DELTA_NE, DELTA_NW, DELTA_ZERO},
|
|
||||||
{DELTA_ZERO},
|
|
||||||
{DELTA_ZERO},
|
|
||||||
{DELTA_SW, DELTA_SE, DELTA_ZERO},
|
|
||||||
{DELTA_SSW, DELTA_SSE, DELTA_SWW, DELTA_SEE,
|
|
||||||
DELTA_NWW, DELTA_NEE, DELTA_NNW, DELTA_NNE, DELTA_ZERO},
|
|
||||||
{DELTA_SE, DELTA_SW, DELTA_NE, DELTA_NW, DELTA_ZERO},
|
|
||||||
{DELTA_S, DELTA_E, DELTA_W, DELTA_N, DELTA_ZERO},
|
|
||||||
{DELTA_S, DELTA_E, DELTA_W, DELTA_N,
|
|
||||||
DELTA_SE, DELTA_SW, DELTA_NE, DELTA_NW, DELTA_ZERO},
|
|
||||||
{DELTA_S, DELTA_E, DELTA_W, DELTA_N,
|
|
||||||
DELTA_SE, DELTA_SW, DELTA_NE, DELTA_NW, DELTA_ZERO},
|
|
||||||
};
|
|
||||||
|
|
||||||
const SquareDelta PawnPush[2] = {
|
|
||||||
DELTA_N, DELTA_S
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
////
|
////
|
||||||
//// Functions
|
//// Functions
|
||||||
////
|
////
|
||||||
|
|
||||||
/// Translating piece types to/from English piece letters:
|
/// Translating piece types to/from English piece letters
|
||||||
|
|
||||||
static const char PieceChars[] = " pnbrqk";
|
static const char PieceChars[] = " pnbrqk";
|
||||||
|
|
||||||
@@ -80,16 +43,3 @@ PieceType piece_type_from_char(char c) {
|
|||||||
const char* ch = strchr(PieceChars, tolower(c));
|
const char* ch = strchr(PieceChars, tolower(c));
|
||||||
return ch? PieceType(ch - PieceChars) : NO_PIECE_TYPE;
|
return ch? PieceType(ch - PieceChars) : NO_PIECE_TYPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// piece_is_ok() and piece_type_is_ok(), for debugging:
|
|
||||||
|
|
||||||
bool piece_is_ok(Piece pc) {
|
|
||||||
return
|
|
||||||
piece_type_is_ok(type_of_piece(pc)) &&
|
|
||||||
color_is_ok(color_of_piece(pc));
|
|
||||||
}
|
|
||||||
|
|
||||||
bool piece_type_is_ok(PieceType pc) {
|
|
||||||
return pc >= PAWN && pc <= KING;
|
|
||||||
}
|
|
||||||
|
|||||||
46
src/piece.h
46
src/piece.h
@@ -47,15 +47,43 @@ enum Piece {
|
|||||||
|
|
||||||
|
|
||||||
////
|
////
|
||||||
//// Constants and variables
|
//// Constants
|
||||||
////
|
////
|
||||||
|
|
||||||
const PieceType PieceTypeMin = PAWN;
|
const PieceType PieceTypeMin = PAWN;
|
||||||
const PieceType PieceTypeMax = KING;
|
const PieceType PieceTypeMax = KING;
|
||||||
|
|
||||||
extern const int SlidingArray[18];
|
const int SlidingArray[18] = {
|
||||||
extern const SquareDelta Directions[16][16];
|
0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0
|
||||||
extern const SquareDelta PawnPush[2];
|
};
|
||||||
|
|
||||||
|
const SquareDelta Directions[16][16] = {
|
||||||
|
{DELTA_ZERO},
|
||||||
|
{DELTA_NW, DELTA_NE, DELTA_ZERO},
|
||||||
|
{DELTA_SSW, DELTA_SSE, DELTA_SWW, DELTA_SEE,
|
||||||
|
DELTA_NWW, DELTA_NEE, DELTA_NNW, DELTA_NNE, DELTA_ZERO},
|
||||||
|
{DELTA_SE, DELTA_SW, DELTA_NE, DELTA_NW, DELTA_ZERO},
|
||||||
|
{DELTA_S, DELTA_E, DELTA_W, DELTA_N, DELTA_ZERO},
|
||||||
|
{DELTA_S, DELTA_E, DELTA_W, DELTA_N,
|
||||||
|
DELTA_SE, DELTA_SW, DELTA_NE, DELTA_NW, DELTA_ZERO},
|
||||||
|
{DELTA_S, DELTA_E, DELTA_W, DELTA_N,
|
||||||
|
DELTA_SE, DELTA_SW, DELTA_NE, DELTA_NW, DELTA_ZERO},
|
||||||
|
{DELTA_ZERO},
|
||||||
|
{DELTA_ZERO},
|
||||||
|
{DELTA_SW, DELTA_SE, DELTA_ZERO},
|
||||||
|
{DELTA_SSW, DELTA_SSE, DELTA_SWW, DELTA_SEE,
|
||||||
|
DELTA_NWW, DELTA_NEE, DELTA_NNW, DELTA_NNE, DELTA_ZERO},
|
||||||
|
{DELTA_SE, DELTA_SW, DELTA_NE, DELTA_NW, DELTA_ZERO},
|
||||||
|
{DELTA_S, DELTA_E, DELTA_W, DELTA_N, DELTA_ZERO},
|
||||||
|
{DELTA_S, DELTA_E, DELTA_W, DELTA_N,
|
||||||
|
DELTA_SE, DELTA_SW, DELTA_NE, DELTA_NW, DELTA_ZERO},
|
||||||
|
{DELTA_S, DELTA_E, DELTA_W, DELTA_N,
|
||||||
|
DELTA_SE, DELTA_SW, DELTA_NE, DELTA_NW, DELTA_ZERO},
|
||||||
|
};
|
||||||
|
|
||||||
|
const SquareDelta PawnPush[2] = {
|
||||||
|
DELTA_N, DELTA_S
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
////
|
////
|
||||||
@@ -119,6 +147,14 @@ inline SquareDelta pawn_push(Color c) {
|
|||||||
return PawnPush[c];
|
return PawnPush[c];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline bool piece_type_is_ok(PieceType pc) {
|
||||||
|
return pc >= PAWN && pc <= KING;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool piece_is_ok(Piece pc) {
|
||||||
|
return piece_type_is_ok(type_of_piece(pc)) && color_is_ok(color_of_piece(pc));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
////
|
////
|
||||||
//// Prototypes
|
//// Prototypes
|
||||||
@@ -126,8 +162,6 @@ inline SquareDelta pawn_push(Color c) {
|
|||||||
|
|
||||||
extern char piece_type_to_char(PieceType pt, bool upcase = false);
|
extern char piece_type_to_char(PieceType pt, bool upcase = false);
|
||||||
extern PieceType piece_type_from_char(char c);
|
extern PieceType piece_type_from_char(char c);
|
||||||
extern bool piece_is_ok(Piece pc);
|
|
||||||
extern bool piece_type_is_ok(PieceType pt);
|
|
||||||
|
|
||||||
|
|
||||||
#endif // !defined(PIECE_H_INCLUDED)
|
#endif // !defined(PIECE_H_INCLUDED)
|
||||||
|
|||||||
Reference in New Issue
Block a user