X-Git-Url: http://winboard.nl/cgi-bin?p=polyglot.git;a=blobdiff_plain;f=move.h;h=4d2fbc817916864a6a5e656329b1e259beb276a4;hp=c83f155a129cbe7fb974e58da8296a5aaf2e008e;hb=ae338a820ef1c16d4399958613bbc0b908904b91;hpb=e516b96c20d27e7d86d3485b010d6d48cecec9f1 diff --git a/move.h b/move.h index c83f155..4d2fbc8 100644 --- a/move.h +++ b/move.h @@ -1,60 +1,60 @@ - -// move.h - -#ifndef MOVE_H -#define MOVE_H - -// includes - -#include "board.h" -#include "util.h" - -// defined - -// HACK: a1a1 cannot be a legal move -#define MoveNone (0) - -#define MovePromoteKnight (1 << 12) -#define MovePromoteBishop (2 << 12) -#define MovePromoteRook (3 << 12) -#define MovePromoteQueen (4 << 12) -#define MoveFlags (7 << 12) - -// types - -typedef uint16 move_t; - -// functions - -extern bool move_is_ok (int move); - -extern int move_make (int from, int to); -extern int move_make_flags (int from, int to, int flags); - -extern int move_from (int move); -extern int move_to (int move); -extern int move_promote_hack (int move); - -extern bool move_is_capture (int move, const board_t * board); -extern bool move_is_promote (int move); -extern bool move_is_en_passant (int move, const board_t * board); -extern bool move_is_castle (int move, const board_t * board); - -extern int move_piece (int move, const board_t * board); -extern int move_capture (int move, const board_t * board); -extern int move_promote (int move, const board_t * board); - -extern bool move_is_check (int move, const board_t * board); -extern bool move_is_mate (int move, const board_t * board); - -extern int move_order (int move); - -extern bool move_to_can (int move, const board_t * board, char string[], int size); -extern int move_from_can (const char string[], const board_t * board); - -extern void move_disp (int move, const board_t * board); - -#endif // !defined MOVE_H - -// end of move.h - + +// move.h + +#ifndef MOVE_H +#define MOVE_H + +// includes + +#include "board.h" +#include "util.h" + +// defined + +// HACK: a1a1 cannot be a legal move +#define MoveNone (0) + +#define MovePromoteKnight (1 << 12) +#define MovePromoteBishop (2 << 12) +#define MovePromoteRook (3 << 12) +#define MovePromoteQueen (4 << 12) +#define MoveFlags (7 << 12) + +// types + +typedef uint16 move_t; + +// functions + +extern bool move_is_ok (int move); + +extern int move_make (int from, int to); +extern int move_make_flags (int from, int to, int flags); + +extern int move_from (int move); +extern int move_to (int move); +extern int move_promote_hack (int move); + +extern bool move_is_capture (int move, const board_t * board); +extern bool move_is_promote (int move); +extern bool move_is_en_passant (int move, const board_t * board); +extern bool move_is_castle (int move, const board_t * board); + +extern int move_piece (int move, const board_t * board); +extern int move_capture (int move, const board_t * board); +extern int move_promote (int move, const board_t * board); + +extern bool move_is_check (int move, const board_t * board); +extern bool move_is_mate (int move, const board_t * board); + +extern int move_order (int move); + +extern bool move_to_can (int move, const board_t * board, char string[], int size); +extern int move_from_can (const char string[], const board_t * board); + +extern void move_disp (int move, const board_t * board); + +#endif // !defined MOVE_H + +// end of move.h +