bubble.h
上传用户:junwei_58
上传日期:2007-05-15
资源大小:79k
文件大小:2k
源码类别:

其他智力游戏

开发平台:

Visual C++

  1. #ifndef BUBBLE_H
  2. #define BUBBLE_H
  3. #include "vbe.h"
  4. #define HIGHSCORE  "highscor.dat"
  5. #define KEY_UP        KEY_up
  6. #define KEY_DOWN      KEY_down
  7. #define KEY_LEFT      KEY_left
  8. #define KEY_RIGHT     KEY_right
  9. #define KEY_ACTION    KEY_space
  10. #define KEY_EXIT      KEY_esc
  11. #define BKGROUNDCOLOR     0
  12. #define ARROWCOLOR   1
  13. #define BORDERCOLOR  2
  14. #define TEXTCOLOR    3
  15. #define TEXTCOLOR2   4
  16. #define MAXX  800
  17. #define MAXY  560
  18. #ifdef EXTERN
  19. #undef EXTERN
  20. #endif
  21. #define EXTERN extern
  22. #ifdef BUBBLE_CPP
  23. #undef EXTERN
  24. #define EXTERN
  25. #endif
  26. #define PRIVATE static
  27. #define PUBLIC
  28. typedef enum {
  29. NO_ERROR=0,
  30. FILE_NOT_OPEN,
  31. DIRECTION_NOT_DEFINED,
  32. ID_NOT_DEFINED,
  33. SELECT_ERROR
  34. }Errorcode;
  35. const int TABLEWIDTH=20;
  36. const int TABLEHEIGHT=18;
  37. const int XMAGIN=100;
  38. const int YMAGIN=50;
  39. const int BALLSIZE=30;
  40. typedef int Direction;
  41. EXTERN int musicON;
  42. EXTERN int soundON;
  43. enum BALL{
  44. NONE_B =0,
  45. BLUE_B =1,
  46. GREEN_B =2,
  47. CYAN_B =3,
  48. RED_B =4,
  49. MAGENTA_B =5,
  50. BROWN_B =6,
  51. LIGHTGRAY_B =7,
  52. DARKGRAY_B =8,
  53. LIGHTBLUE_B =9,
  54. LIGHTGREEN_B =10,
  55. LIGHTCYAN_B =11,
  56. LIGHTRED_B =12,
  57. LIGHTMAGENTA_B =13,
  58. YELLOW_B =14,
  59. WHITE_B =15,
  60. };
  61. //       x             y
  62. EXTERN BALL table[TABLEWIDTH][TABLEHEIGHT];
  63. EXTERN char tableT[TABLEWIDTH][TABLEHEIGHT];
  64. EXTERN BALL tempBall;
  65. EXTERN char colortable[16];
  66. EXTERN int colorNum;
  67. class object {
  68. public:
  69. object();
  70. ~object();
  71. void turn(Direction);
  72. void eject();
  73. void start();
  74. void hidePointer();
  75. void showPointer();
  76. void move();
  77. void showball();
  78. unsigned long getscore(){return score;}
  79. void AIcontrol();
  80. private:
  81. int ply;//player who? red or blue?
  82. int direct,dd,did;
  83. unsigned long score;
  84. int sx,sy;
  85. int t;
  86. BALL nextBall;
  87. };
  88. class ball{
  89. public:
  90. ball(int X,int Y,int d,BALL b):direct(d),color(b),x(X),y(Y),speed(1){}
  91. ~ball(){}
  92. int check();
  93. int move();
  94. int solid();
  95. void bump(){direct=-direct;}
  96. private:
  97. int direct;
  98. BALL color;
  99. float x,y;
  100. int speed;
  101. };
  102. EXTERN object *ob;
  103. EXTERN object *ob2;
  104. /*======================*
  105. Function declarations
  106. *======================*/
  107. EXTERN void seekActions();
  108. EXTERN void exitgame();
  109. //void message(char *,int p=0);
  110. EXTERN void thegameloop();
  111. #endif