structures forward declarations
This commit is contained in:
12
make.deps
12
make.deps
@@ -1,10 +1,10 @@
|
|||||||
./obj/debug.o:: src/debug.c src/debug.h
|
./obj/debug.o:: src/debug.c src/debug.h
|
||||||
./obj/fen.o:: src/fen.c src/debug.h src/chessdefs.h src/position.h src/board.h \
|
./obj/fen.o:: src/fen.c src/debug.h src/chessdefs.h src/position.h src/board.h \
|
||||||
src/list.h src/fen.h src/piece.h src/pool.h
|
src/piece.h src/list.h src/pool.h src/fen.h
|
||||||
./obj/move.o:: src/move.c src/chessdefs.h src/piece.h src/board.h src/list.h \
|
./obj/move.o:: src/move.c src/chessdefs.h src/piece.h src/board.h src/position.h \
|
||||||
src/position.h src/pool.h src/move.h
|
src/list.h src/pool.h src/move.h
|
||||||
./obj/piece.o:: src/piece.c src/chessdefs.h src/piece.h src/board.h src/list.h \
|
./obj/piece.o:: src/piece.c src/chessdefs.h src/piece.h src/board.h \
|
||||||
src/position.h src/pool.h src/debug.h
|
src/position.h src/list.h src/pool.h src/debug.h
|
||||||
./obj/pool.o:: src/pool.c src/list.h src/pool.h src/debug.h
|
./obj/pool.o:: src/pool.c src/list.h src/pool.h src/debug.h
|
||||||
./obj/position.o:: src/position.c src/chessdefs.h src/position.h src/board.h \
|
./obj/position.o:: src/position.c src/chessdefs.h src/position.h src/board.h \
|
||||||
src/list.h src/fen.h src/piece.h src/pool.h
|
src/piece.h src/list.h src/pool.h src/fen.h
|
||||||
|
@@ -16,10 +16,12 @@
|
|||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "chessdefs.h"
|
#include "chessdefs.h"
|
||||||
|
#include "piece.h"
|
||||||
|
#include "position.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct board_s {
|
||||||
piece_t piece;
|
piece_t piece;
|
||||||
//piece_t *s_piece;
|
piece_list_t *s_piece;
|
||||||
} board_t; /* 0x88 board */
|
} board_t; /* 0x88 board */
|
||||||
#define BOARDSIZE (8*8*2)
|
#define BOARDSIZE (8*8*2)
|
||||||
|
|
||||||
@@ -51,4 +53,4 @@ typedef struct {
|
|||||||
#define FILE2C(f) ((f) + 'a')
|
#define FILE2C(f) ((f) + 'a')
|
||||||
#define RANK2C(r) ((r) + '1')
|
#define RANK2C(r) ((r) + '1')
|
||||||
|
|
||||||
#endif
|
#endif /* BOARD_H */
|
||||||
|
@@ -73,4 +73,10 @@ typedef unsigned char castle_t;
|
|||||||
*/
|
*/
|
||||||
typedef int64_t eval_t;
|
typedef int64_t eval_t;
|
||||||
|
|
||||||
|
/* forward typedefs
|
||||||
|
*/
|
||||||
|
typedef struct piece_list_s piece_list_t;
|
||||||
|
typedef struct board_s board_t;
|
||||||
|
typedef struct pos_s pos_t;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -84,7 +84,7 @@ pos_t *fen2pos(pos_t *pos, char *fen)
|
|||||||
# endif
|
# endif
|
||||||
piece |= color;
|
piece |= color;
|
||||||
board[SQ88(file, rank)].piece = piece;
|
board[SQ88(file, rank)].piece = piece;
|
||||||
piece_add(pos, piece, SQUARE(file, rank));
|
board[SQ88(file, rank)].s_piece = piece_add(pos, piece, SQUARE(file, rank));
|
||||||
file++;
|
file++;
|
||||||
break;
|
break;
|
||||||
case '/':
|
case '/':
|
||||||
|
@@ -14,12 +14,13 @@
|
|||||||
#ifndef PIECE_H
|
#ifndef PIECE_H
|
||||||
#define PIECE_H
|
#define PIECE_H
|
||||||
|
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
#include "chessdefs.h"
|
#include "chessdefs.h"
|
||||||
#include "board.h"
|
#include "board.h"
|
||||||
#include "list.h"
|
#include "list.h"
|
||||||
#include "position.h"
|
#include "position.h"
|
||||||
#include "pool.h"
|
#include "pool.h"
|
||||||
#include "ctype.h"
|
|
||||||
|
|
||||||
#define PIECE_DEFAULT_VALUE 0
|
#define PIECE_DEFAULT_VALUE 0
|
||||||
|
|
||||||
@@ -31,7 +32,7 @@
|
|||||||
#define QUEEN_VALUE 900
|
#define QUEEN_VALUE 900
|
||||||
#define KING_VALUE 20000
|
#define KING_VALUE 20000
|
||||||
|
|
||||||
typedef struct {
|
typedef struct piece_list_s {
|
||||||
piece_t piece;
|
piece_t piece;
|
||||||
square_t square;
|
square_t square;
|
||||||
short castle;
|
short castle;
|
||||||
|
@@ -19,7 +19,7 @@
|
|||||||
#include "board.h"
|
#include "board.h"
|
||||||
#include "list.h"
|
#include "list.h"
|
||||||
|
|
||||||
typedef struct position {
|
typedef struct pos_s {
|
||||||
piece_t turn; /* we use only color bit */
|
piece_t turn; /* we use only color bit */
|
||||||
castle_t castle;
|
castle_t castle;
|
||||||
square_t en_passant;
|
square_t en_passant;
|
||||||
|
Reference in New Issue
Block a user