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