00001 /*********************************************************************************** 00002 * Filename $RCSfile: alg1_moves.h,v $ 00003 * Current CVS $Revision: 1.8 $ 00004 * Checked-in by $Author: yves $ 00005 * 00006 * $Log: alg1_moves.h,v $ 00007 * Revision 1.8 2005/03/28 22:35:08 yves 00008 * Remove bitfields - alleged bug but probably not a bug 00009 * 00010 * Revision 1.7 2004/12/17 23:38:00 yves 00011 * add depth to move structure - used for audit right now 00012 * 00013 * Revision 1.6 2004/12/17 17:36:26 yves 00014 * add typedefs 00015 * 00016 * Revision 1.5 2004/12/16 03:02:19 yves 00017 * Change to bitfields 00018 * 00019 * Revision 1.4 2004/12/16 00:18:25 yves 00020 * Standard CVS command tags added 00021 * FEN notation inverted, now uppercase is white and lowercase is black 00022 * 00023 * 00024 ***********************************************************************************/ 00025 00026 #if !defined(__ALG1_MOVES_H__) 00027 #define __ALG1_MOVES_H__ 00028 00029 #include "belofte.h" 00030 #include "alg1_search.h" 00031 #include "alg1_eval.h" 00032 00033 // -------------------------------------------------------------------- 00034 00035 int order_moves(const int iMoves); 00036 void qsort_moves(void); 00037 00038 // -------------------------------------------------------------------- 00039 00040 struct st_alg1_move { 00041 posid ucFrom; // from position 00042 posid ucTo; // to position 00043 t_promotion bFlag; // is a promotion move, piece 00044 t_boolean bNonSilent; // is a capture move 00045 t_depth iDepth; // depth this move is searched at 00046 t_score bValue; // evaluation of this move 00047 } ; 00048 00049 // -------------------------------------------------------------------- 00050 00051 typedef struct st_alg1_move t_alg1_move; 00052 00053 // -------------------------------------------------------------------- 00054 00055 struct st_alg1_movelist { 00056 t_alg1_move m1_moves[MAX_MOVES_PER_POSITION]; 00057 int m1_count; 00058 } ; 00059 00060 // -------------------------------------------------------------------- 00061 00062 typedef struct st_alg1_movelist t_alg1_moves; 00063 00064 // -------------------------------------------------------------------- 00065 00066 #endif