789e01bd06
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9037 a1c6a512-1295-4272-9138-f99709370657
55 lines
1.2 KiB
C
55 lines
1.2 KiB
C
|
|
#ifndef _GNUCHESS_H_
|
|
#define _GNUCHESS_H_
|
|
|
|
#define neutral 2
|
|
#define white 0
|
|
#define black 1
|
|
#define no_piece 0
|
|
#define pawn 1
|
|
#define knight 2
|
|
#define bishop 3
|
|
#define rook 4
|
|
#define queen 5
|
|
#define king 6
|
|
#define valueP 100
|
|
#define valueN 350
|
|
#define valueB 355
|
|
#define valueR 550
|
|
#define valueQ 1100
|
|
#define valueK 1200
|
|
|
|
/* ---- chess engine global types ---- */
|
|
struct GameRec {
|
|
unsigned short gmove;
|
|
short score,depth,time,piece,color;
|
|
long nodes;
|
|
};
|
|
struct TimeControlRec {
|
|
short moves[2];
|
|
long clock[2];
|
|
};
|
|
|
|
/* ---- chess engine global variables ---- */
|
|
extern short mate,opponent,computer,Sdepth;
|
|
extern short locn[8][8];
|
|
extern short board[64];
|
|
extern short color[64];
|
|
extern long Level;
|
|
extern short TCflag,TCmoves,TCminutes;
|
|
extern short timeout;
|
|
extern short GameCnt,Game50,castld[2],kingmoved[2],OperatorTime;
|
|
extern struct TimeControlRec TimeControl;
|
|
extern struct GameRec GameList[240];
|
|
|
|
/* ---- RockBox integration ---- */
|
|
extern struct plugin_api* rb;
|
|
|
|
/* ---- The beginning of a GNUChess v2 APIfication ---- */
|
|
void SetTimeControl(void);
|
|
void GNUChess_Initialize(void);
|
|
int VerifyMove(char s[],short iop,unsigned short *mv);
|
|
int SelectMove ( short side, short iop , void (*callback)(void) );
|
|
void InitializeStats ( void );
|
|
|
|
#endif
|