4 * Convert GNU Shogi pattern textfile to an include file.
6 * ----------------------------------------------------------------------
7 * Copyright (c) 1993, 1994, 1995 Matthias Mutz
8 * Copyright (c) 1999 Michael Vanier and the Free Software Foundation
10 * GNU SHOGI is based on GNU CHESS
12 * Copyright (c) 1988, 1989, 1990 John Stanback
13 * Copyright (c) 1992 Free Software Foundation
15 * This file is part of GNU SHOGI.
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.
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
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 * ----------------------------------------------------------------------
38 extern void ReadOpeningSequences(short *pindex);
39 extern void WriteOpeningSequences(short pindex);
43 small_short PieceCnt[2];
44 small_short PieceList[2][NO_SQUARES];
45 small_short PieceIndex[NO_SQUARES];
47 small_short board[NO_SQUARES];
48 small_short color[NO_SQUARES];
55 short side, piece, f, t, d;
57 for (side = 0; side <= 1; side++)
59 printf("SIDE = %d\n", side);
61 for (piece = pawn; piece <= king; piece++)
63 printf("PIECE = %d\n", piece);
65 for (f = 0; f < NO_SQUARES; f++)
67 printf("FROM %d TO ", f);
69 for (t = 0; t < NO_SQUARES; t++)
71 d = piece_distance(side, piece, f, t);
73 if (d != CANNOT_REACH)
74 printf("%d:%d ", t, d);
87 main(int argc, char **argv)
91 short sq, side, max_pattern_data;
98 display_type = DISPLAY_RAW;
102 for (sq = 0; sq < NO_SQUARES; sq++)
104 board[sq] = no_piece;
110 for (side = 0; side <= 1; side++)
114 strcpy(s, "g6i k5i g4i p9g p8g r* s3h p7g b8h B* S5f");
116 if (string_to_board_color(s))
118 printf("ERROR IN string_to_board_color");
123 UpdateDisplay(0, 0, 1, 0);
126 d = pattern_distance(black, &pattern);
128 printf("distance = %d\n", d);
132 ReadOpeningSequences(&max_pattern_data);
133 WriteOpeningSequences(max_pattern_data);