1 /* 2 * IceBreaker 3 * Copyright (c) 2000-2002 Matthew Miller <mattdm@mattdm.org> 4 * 5 * <http://www.mattdm.org/icebreaker/> 6 * 7 * This program is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU General Public License as published by the Free 9 * Software Foundation; either version 2 of the License, or (at your option) 10 * any later version. 11 * 12 * This program is distributed in the hope that it will be useful, but 13 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15 * for more details. 16 * 17 * You should have received a copy of the GNU General Public License along 18 * with this program; if not, write to the Free Software Foundation, Inc., 59 19 * Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 * 21 */ 22 23 #ifndef LINE_H 24 #define LINE_H 25 26 typedef enum { UP, DOWN, LEFT, RIGHT } LineDir; 27 typedef enum { HORIZONTAL, VERTICAL } LineType; 28 29 typedef struct 30 { 31 int on; 32 SDL_Rect geom; 33 SDL_Rect mark; 34 LineDir dir; 35 Uint32* colorpointer; // to match the sprite pointer 36 char id; 37 int dead; 38 int speedslower; 39 int stuckcount; 40 } Line; 41 42 43 extern Line createline(int linenum); 44 extern void startline(Line * l, LineDir d, int x, int y); 45 extern int moveline(Line * l); 46 extern void finishline(Line * l); 47 extern void killline(Line * l); 48 49 #endif /* LINE_H */ 50