Subversion Repositories Games.Chess Giants

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
112 pmbaty 1
/*
2
    Protector -- a UCI chess engine
3
 
4
    Copyright (C) 2009-2010 Raimund Heid (Raimund_Heid@yahoo.com)
5
 
6
    This program is free software: you can redistribute it and/or modify
7
    it under the terms of the GNU General Public License as published by
8
    the Free Software Foundation, either version 3 of the License, or
9
    (at your option) any later version.
10
 
11
    This program is distributed in the hope that it will be useful,
12
    but WITHOUT ANY WARRANTY; without even the implied warranty of
13
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
    GNU General Public License for more details.
15
 
16
    You should have received a copy of the GNU General Public License
17
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
 
19
*/
20
 
21
#ifndef _fen_h_
22
#define _fen_h_
23
 
24
#define FEN_GAMESTART "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"
25
 
26
#include "protector.h"
27
#include "position.h"
28
 
29
/**
30
 * Convert a FEN string to a position object.
31
 *
32
 * @param fen the FEN string to be converted
33
 * @param position the position object that is supposed to contain the
34
 *        position specified by 'fen'
35
 *
36
 * @return 0 if the conversion could be accomplished
37
 */
38
int readFen(const char *fen, Position * position);
39
 
40
/**
41
 * Convert a position object to an FEN string.
42
 *
43
 * @param position the position object to be converted
44
 * @param fen the buffer supposed to contain the fen string of the position
45
 *        specified by 'position'
46
 */
47
void getFen(const Position * position, char *fen);
48
 
49
/**
50
 * Initialize this module.
51
 *
52
 * @return 0 if no errors occurred.
53
 */
54
int initializeModuleFen(void);
55
 
56
/**
57
 * Test this module.
58
 *
59
 * @return 0 if all tests succeed.
60
 */
61
int testModuleFen(void);
62
 
63
#endif