rockbox/apps/plugins/chessbox/gnuchess.h
Marcoen Hirschberg 789e01bd06 latest update by Miguel Arevalo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9037 a1c6a512-1295-4272-9138-f99709370657
2006-03-14 20:55:59 +00:00

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