00001 #ifndef BILL_H 00002 #define BILL_H 00003 00004 #include "Picture.h" 00005 00006 class Monster { /*structure for Bills*/ 00007 public: 00008 int state; /*what is it doing?*/ 00009 int index; /*index to animation frame*/ 00010 Picture *cels; /*pointer to array of animation frames*/ 00011 int x, y; /*location*/ 00012 int target_x; /*target x position*/ 00013 int target_y; /*target y position*/ 00014 int target_c; /*target computer*/ 00015 int cargo; /*which OS carried*/ 00016 int x_offset; /*accounts for width differences*/ 00017 int y_offset; /*'bounce' factor for OS carried*/ 00018 int sx, sy; /*used for drawing extra OS during switch*/ 00019 00020 static const int SLOW = 0; /* speeds of moving bills */ 00021 static const int FAST = 1; 00022 00023 static const int OFF = 0; /* Bill's states */ 00024 static const int IN = 1; 00025 static const int AT = 2; 00026 static const int OUT = 3; 00027 static const int DYING = 4; 00028 static const int STRAY = 5; 00029 00030 static const int GRAVITY = 3; /*speed at which os drops*/ 00031 00032 static const int XOFFSET = 20; /*offset from right of computer*/ 00033 static const int YOFFSET = 3; /*offset from top of computer*/ 00034 00035 void get_border(); 00036 void enter(); 00037 int move(int mode); 00038 void draw(); 00039 void draw_std(); 00040 void draw_at(); 00041 void draw_stray(); 00042 void update(); 00043 void update_in(); 00044 void update_at(); 00045 void update_out(); 00046 void update_dying(); 00047 int clicked(int locx, int locy); 00048 int clickedstray(int locx, int locy); 00049 int step_size(unsigned int lev); 00050 00051 }; 00052 00053 #endif
1.4.2