1 /* 2 * Ben Lynn 3 */ 4 /* 5 Copyright (C) 2004 Benjamin Lynn (blynn@cs.stanford.edu) 6 7 This program is free software; you can redistribute it and/or 8 modify it under the terms of the GNU General Public License 9 as published by the Free Software Foundation; either version 2 10 of the License, or (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 20 */ 21 #ifndef GAME_H 22 #define GAME_H 23 24 enum { 25 boardmaxw = 50, 26 boardmaxh = 50, 27 }; 28 extern int boardw, boardh; 29 extern int board[boardmaxw][boardmaxh]; 30 extern int neighbourcount[boardmaxw][boardmaxh]; 31 extern int flags[boardmaxw][boardmaxh]; 32 extern int sourcex, sourceytop, sourceybottom; 33 extern int wrap_flag; 34 extern int no_fourway; 35 extern int game_won; 36 37 typedef struct { 38 int x, y; 39 } coord_s; 40 41 extern coord_s dir[4]; 42 43 // 0 = up, 1 = right, 2 = down, 3 = left 44 // 0 45 // | 46 // 3--+--1 47 // | 48 // 2 49 50 void clear_flags(); 51 void generate_maze(); 52 int rotatecw(int d, int n); 53 void scramble(); 54 void check_live(); 55 void add_dir(int *x, int *y, int x1, int y1, int d); 56 #endif //GAME_H 57