home *** CD-ROM | disk | FTP | other *** search
/ Game Programming - All in One (3rd Edition) / game_prog_all_in_one_3rd_ed.iso / sources / chapter09 / tankwar_r4 / tankwar.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-09-13  |  1.5 KB  |  73 lines

  1. /////////////////////////////////////////////////////////////////////////
  2. // Game Programming All In One, Third Edition
  3. // Chapter 9 - Tank War Header (Enhancement 4)
  4. /////////////////////////////////////////////////////////////////////////
  5.  
  6. #ifndef _TANKWAR_H
  7. #define _TANKWAR_H
  8.  
  9. #include "allegro.h"
  10.  
  11. //define some game constants
  12. #define MODE GFX_AUTODETECT_WINDOWED
  13. #define WIDTH 640
  14. #define HEIGHT 480
  15. #define MAXSPEED 2
  16. #define BULLETSPEED 6
  17.  
  18. //define some colors
  19. #define TAN makecol(255,242,169)
  20. #define BURST makecol(255,189,73)
  21. #define BLACK makecol(0,0,0)
  22. #define WHITE makecol(255,255,255)
  23.  
  24. //define the sprite structure
  25. typedef struct SPRITE
  26. {
  27. //new elements
  28.     int dir, alive;
  29.  
  30.     int x,y;
  31.     int width,height;
  32.     int xspeed,yspeed;
  33.     int xdelay,ydelay;
  34.     int xcount,ycount;
  35.     int curframe,maxframe,animdir;
  36.     int framecount,framedelay;
  37. }SPRITE;
  38.  
  39. SPRITE mytanks[2];
  40. SPRITE *tanks[2];
  41. SPRITE mybullets[2];
  42. SPRITE *bullets[2];
  43.  
  44. //replacement for the "score" variable in tank struct
  45. int scores[2];
  46.  
  47. //declare some variables
  48. int gameover = 0;
  49.  
  50. //sprite bitmaps
  51. BITMAP *tank_bmp[2][8];
  52. BITMAP *bullet_bmp;
  53. BITMAP *explode_bmp;
  54.  
  55. //function prototypes
  56. void drawtank(int num);
  57. void erasetank(int num);
  58. void movetank(int num);
  59. void explode(int num, int x, int y);
  60. void updatebullet(int num);
  61. void fireweapon(int num);
  62. void forward(int num);
  63. void backward(int num);
  64. void turnleft(int num);
  65. void turnright(int num);
  66. void getinput();
  67. void setuptanks();
  68. void score(int);
  69. void setupscreen();
  70.  
  71. #endif
  72.  
  73.