src/chess/rules.h

changeset 157
07cbfc477b22
parent 154
5336e985bd69
equal deleted inserted replaced
156:05fc8a454700 157:07cbfc477b22
108 108
109 /** The buffer length for player names in GameState structures. */ 109 /** The buffer length for player names in GameState structures. */
110 #define PLAYER_NAME_BUFLEN 32 110 #define PLAYER_NAME_BUFLEN 32
111 111
112 typedef struct { 112 typedef struct {
113 /** optional name of the white player - only used for PGN exports */
114 char wname[PLAYER_NAME_BUFLEN];
115 /** optional name of the black player - only used for PGN exports */
116 char bname[PLAYER_NAME_BUFLEN];
113 GameInfo info; 117 GameInfo info;
114 Board board; 118 Board board;
115 Move* moves; 119 Move* moves;
116 /** optional name of the white player */ 120 /** starting position in FEN notation */
117 char wname[PLAYER_NAME_BUFLEN]; 121 char *fen_start;
118 /** optional name of the black player */ 122 /** array of subsequent positions in FEN notation.
119 char bname[PLAYER_NAME_BUFLEN]; 123 * The capacity and element count are identical to the moves array.
124 */
125 char **fen;
120 /** capacity of the move array */ 126 /** capacity of the move array */
121 unsigned movecapacity; 127 unsigned int movecapacity;
122 /** number of (half-)moves (counting BOTH colors) */ 128 /** number of (half-)moves (counting BOTH colors) */
123 unsigned int movecount; 129 unsigned int movecount;
124 /** a premove that shall be evaluated next time it's our turn */ 130 /** a premove that shall be evaluated next time it's our turn */
125 char premove[8]; 131 char premove[8];
126 bool checkmate; 132 bool checkmate;

mercurial