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

  1. /////////////////////////////////////////////////////////////////////////
  2. // Game Programming All In One, Third Edition
  3. // Chapter 7 - Tank War Header File
  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 BLOCKS 5
  16. #define BLOCKSIZE 100
  17. #define MAXSPEED 2
  18. #define BULLETSPEED 10
  19. #define TAN makecol(255,242,169)
  20. #define CAMO makecol(64,142,66)
  21. #define BURST makecol(255,189,73)
  22.  
  23. //define tank structure
  24. struct tagTank
  25. {
  26.     int x,y;
  27.     int dir,speed;
  28.     int color;
  29.     int score;
  30.  
  31. } tanks[2];
  32.  
  33. //define bullet structure
  34. struct tagBullet
  35. {
  36.     int x,y;
  37.     int alive;
  38.     int xspd,yspd;
  39.  
  40. } bullets[2];
  41.  
  42. //declare some variables
  43. int gameover = 0;
  44. BITMAP *tank_bmp[2][4];
  45.  
  46. //function prototypes
  47. void drawtank(int num);
  48. void erasetank(int num);
  49. void movetank(int num);
  50. void explode(int num, int x, int y);
  51. void updatebullet(int num);
  52. int checkpath(int x1,int y1,int x2,int y2,int x3,int y3);
  53. void clearpath(int num);
  54. void fireweapon(int num);
  55. void forward(int num);
  56. void backward(int num);
  57. void turnleft(int num);
  58. void turnright(int num);
  59. void getinput();
  60. void setuptanks();
  61. void score(int);
  62. void print(const char *s, int c);
  63. void setupdebris();
  64. void setupscreen();
  65.  
  66. #endif
  67.  
  68.