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

  1. /////////////////////////////////////////////////////////////////////////
  2. // Game Programming All In One, Third Edition
  3. // Chapter 4 - Tank War Game
  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. int gameover = 0;
  43.  
  44. //function prototypes
  45. void drawtank(int num);
  46. void erasetank(int num);
  47. void movetank(int num);
  48. void explode(int num, int x, int y);
  49. void updatebullet(int num);
  50. int checkpath(int x1,int y1,int x2,int y2,int x3,int y3);
  51. void clearpath(int num);
  52. void fireweapon(int num);
  53. void forward(int num);
  54. void backward(int num);
  55. void turnleft(int num);
  56. void turnright(int num);
  57. void getinput();
  58. void setuptanks();
  59. void score(int);
  60. void print(const char *s, int c);
  61. void setupdebris();
  62. void setupscreen();
  63.  
  64. #endif
  65.  
  66.