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];
48 small_short board[NO_SQUARES];
49 small_short color[NO_SQUARES];
54 short side, piece, f, t, d;
56 for (side = 0; side <= 1; side++)
58 printf("SIDE = %d\n", side);
60 for (piece = pawn; piece <= king; piece++)
62 printf("PIECE = %d\n", piece);
64 for (f = 0; f < NO_SQUARES; f++)
66 printf("FROM %d TO ", f);
68 for (t = 0; t < NO_SQUARES; t++)
70 d = piece_distance(side, piece, f, t);
72 if (d != CANNOT_REACH)
73 printf("%d:%d ", t, d);
86 main(int argc, char **argv)
90 short sq, side, max_pattern_data;
99 for (sq = 0; sq < NO_SQUARES; sq++)
101 board[sq] = no_piece;
107 for (side = 0; side <= 1; side++)
111 strcpy(s, "g6i k5i g4i p9g p8g r* s3h p7g b8h B* S5f");
113 if (string_to_board_color(s))
115 printf("ERROR IN string_to_board_color");
120 UpdateDisplay(0, 0, 1, 0);
123 d = pattern_distance(black, &pattern);
125 printf("distance = %d\n", d);
129 ReadOpeningSequences(&max_pattern_data);
130 WriteOpeningSequences(max_pattern_data);