| 38 |
38 |
| 39 bool knight_chkrules(const Move *move); |
39 bool knight_chkrules(const Move *move); |
| 40 #define knight_isblocked(gs,m) false |
40 #define knight_isblocked(gs,m) false |
| 41 |
41 |
| 42 #define KNIGHT_MOVES_MAX 8 |
42 #define KNIGHT_MOVES_MAX 8 |
| 43 size_t knight_moves(GameState *gamestate, Color c, Row r, File f, Move *moves); |
43 size_t knight_moves(const GameState *gamestate, |
| |
44 Color c, Row r, File f, Move *moves); |
| 44 #define knight_moves_allowed(gamestate, color, row, file, moves) \ |
45 #define knight_moves_allowed(gamestate, color, row, file, moves) \ |
| 45 filter_moves_allowed(gamestate, color, row, file, moves, knight_moves) |
46 filter_moves_allowed(gamestate, color, row, file, moves, knight_moves) |
| 46 |
47 |
| 47 #ifdef __cplusplus |
48 #ifdef __cplusplus |
| 48 } |
49 } |
| 49 #endif |
50 #endif |
| 50 |
51 |