1 #ifndef ATOMSCHACH_H 2 #define ATOMSCHACH_H 3 4 typedef int brett_t[64]; 5 6 typedef enum { 7 weiss = 1 , 8 schwarz = -1 9 }farbname_t; 10 11 typedef char zug_lesbar_t[30]; 12 13 typedef struct{ 14 int von_x; 15 int von_y; 16 int nach_x; 17 int nach_y; 18 } zug_t; 19 20 typedef struct{ 21 int von_x; 22 int von_y; 23 int nach_x; 24 int nach_y; 25 zug_lesbar_t zuglesbar; 26 int punkte; 27 } history_t; 28 29 30 typedef int bool; 31 typedef int umgebung_t[10]; 32 33 #define TRUE 1 34 #define FALSE 0 35 36 #define MAX_TMP_INIT -10000 37 #define MAX_TMP_INIT_SMALL -8000 38 39 /****************************/ 40 /* increase MAX_TIEFE for */ 41 /* higher difficulty levels */ 42 /****************************/ 43 #define MAX_TIEFE 6 44 45 // mindestens MAX_TIEFE + 2 ! +1 wegen tipp 46 #define ZUKUNFT_MAX MAX_TIEFE+3 47 48 // mindestend 1 h�her als MAX_TIEFE+2+1 49 #define INIT_FACTOR MAX_TIEFE+4 50 51 #define HISTORY_MAX 512 52 53 //extern int farbe, mensch, computer, spiel, tiefe; 54 extern int mensch, computer, spiel, tiefe; 55 extern int mensch_farbe; 56 extern brett_t brett; 57 extern brett_t merke_brett; 58 extern history_t history[HISTORY_MAX]; 59 extern bool legal (int vonx, int vony, int nachx, int nachy, brett_t *brett_p); 60 extern umgebung_t umgebung_liste[128]; 61 62 extern int im_schach(farbname_t farbe, brett_t *brett_p, zug_t *zug_p); 63 extern void computer_zug (farbname_t farbe, int tiefe, brett_t *brett_p, zug_t *zug_p, int *punkte_p, bool set_message); 64 extern void newGame (void); 65 extern void sub_main (farbname_t farbe,int tiefe,brett_t *brett_p); 66 extern void zuglesbar_func(zug_t *zug_p, farbname_t farbe, brett_t *brett_p, zug_lesbar_t zuglesbar); 67 extern void anwenden(brett_t *brett_p, zug_t *zug_p); 68 extern char *string_farbname(farbname_t farbname); 69 extern float bewertung_float(int bewertung_int, int farbe, int tiefe); 70 71 #endif 72