0d464cf2888b4c10d0e8a5c721ed7cbd66c2fb4e
[gnushogi.git] / gnushogi / pat2inc.c
1 /*
2  * FILE: pat2inc.c
3  *
4  *     Convert GNU Shogi pattern textfile to an include file.
5  *
6  * ----------------------------------------------------------------------
7  * Copyright (c) 1993, 1994, 1995 Matthias Mutz
8  * Copyright (c) 1999 Michael Vanier and the Free Software Foundation
9  *
10  * GNU SHOGI is based on GNU CHESS
11  *
12  * Copyright (c) 1988, 1989, 1990 John Stanback
13  * Copyright (c) 1992 Free Software Foundation
14  *
15  * This file is part of GNU SHOGI.
16  *
17  * GNU Shogi is free software; you can redistribute it and/or modify it
18  * under the terms of the GNU General Public License as published by the
19  * Free Software Foundation; either version 3 of the License,
20  * or (at your option) any later version.
21  *
22  * GNU Shogi is distributed in the hope that it will be useful, but WITHOUT
23  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
24  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
25  * for more details.
26  *
27  * You should have received a copy of the GNU General Public License along
28  * with GNU Shogi; see the file COPYING. If not, see
29  * <http://www.gnu.org/licenses/>.
30  * ----------------------------------------------------------------------
31  *
32  */
33
34 #include "gnushogi.h"
35 #include "pattern.h"
36
37
38 extern void ReadOpeningSequences(short *pindex);
39 extern void WriteOpeningSequences(short pindex);
40
41 small_short board[NO_SQUARES];
42 small_short color[NO_SQUARES];
43
44 int
45 main(int argc, char **argv)
46 {
47     short sq, side, max_pattern_data;
48
49 #ifdef TEST_DISTANCE
50     short d;
51     char  s[80];
52 #endif
53
54     Initialize_data();
55
56     for (sq = 0; sq < NO_SQUARES; sq++)
57     {
58         board[sq] = no_piece;
59         color[sq] = neutral;
60     }
61
62     ClearCaptured();
63
64     for (side = 0; side <= 1; side++)
65         PieceCnt[side] = -1;
66
67 #ifdef TEST_DISTANCE
68     strcpy(s, "g6i k5i g4i p9g p8g r* s3h p7g b8h B* S5f");
69
70     if (string_to_board_color(s))
71     {
72         printf("ERROR IN string_to_board_color");
73         exit(1);
74     }
75     else
76     {
77         UpdateDisplay(0, 0, 1, 0);
78     }
79
80     d = pattern_distance(black, &pattern);
81
82     printf("distance = %d\n", d);
83
84 #endif
85
86     ReadOpeningSequences(&max_pattern_data);
87     WriteOpeningSequences(max_pattern_data);
88
89     return 0;
90 }