00001
00002
00010
00011
00012
#ifndef BONUS_H
00013
#define BONUS_H
00014
00015
00016
class cInteractive_Item;
00017
class cBomb;
00018
class cTeleporteur;
00019
class cHologramme;
00020
00021
00022 typedef enum {
TELEPORTEUR ,
BOMB ,
HOLOGRAMME ,
CADEAU ,
RED_TRAP ,
BLUE_TRAP,
GREEN_TRAP }
Interactive_Item_Type;
00023 typedef enum {
CADEAU_POINTS ,
CADEAU_TELEPORTEUR ,
CADEAU_BOMB ,
CADEAU_HOLOGRAMME ,
CADEAU_COEUR ,
CADEAU_TIME }
Cadeau_Type;
00024
00025 #define N_BONUS 7
00026 #define RAYON_BOMB 10
00027 #define RAYON_TELEPORTEUR 10
00028 #define RAYON_HOLOGRAMME 10
00029 #define RAYON_CADEAU 10
00030
00031 #define RAYON_RED_TRAP 10
00032 #define RAYON_BLUE_TRAP 10
00033 #define RAYON_GREEN_TRAP 10
00034
00035
00036
00037
00038
#include "display.h"
00039
00040
00041
00042
00043
00044
00045
00046
00048
00049 class cInteractive_Item
00050 {
00051
public:
00053
00059
cInteractive_Item(
int px,
int py ,
cSprite_Display_Def *def,
int r,
Interactive_Item_Type t);
00060
00062
void Display() ;
00063
00065 inline int Get_Rayon() {
return Rayon;};
00066
00068 int Px,
Py;
00069
00070 Interactive_Item_Type Type;
00071
00073 virtual void Reset() {};
00074
private:
00075 cSprite_Display_Def *
pDisplay_Def;
00076 int Rayon;
00077
00078 };
00079
00080
00081
00082
00084
00085 class cBomb :
public cInteractive_Item
00086 {
00087
public:
00088
cBomb(
int x,
int y);
00089
00091
void Reset();
00092
00094 float Time_Stamp;
00095 };
00096
00097
00098
00099
00101
00102 class cTeleporteur:
public cInteractive_Item
00103 {
00104
public:
00105
cTeleporteur(
int x,
int y);
00106 };
00107
00108
00109
00111
00112 class cHologramme:
public cInteractive_Item
00113 {
00114
public:
00115
cHologramme(
int x,
int y);
00116 };
00117
00118
00120
00121 class cCadeau :
public cInteractive_Item
00122 {
00123
public:
00125
00129
cCadeau(
int x,
int y,
Cadeau_Type type);
00130
00132 inline Cadeau_Type Get_Inside() {
return Inside; };
00133
private:
00134 Cadeau_Type Inside;
00135 };
00136
00137
00139
00140 class cRed_Trap :
public cInteractive_Item
00141 {
00142
public:
00143
cRed_Trap(
int x,
int y);
00144 };
00145
00146
00147
00149
00150 class cBlue_Trap:
public cInteractive_Item
00151 {
00152
public:
00153
cBlue_Trap(
int x,
int y);
00154 };
00155
00156
00157
00159
00160 class cGreen_Trap:
public cInteractive_Item
00161 {
00162
public:
00163
cGreen_Trap(
int x,
int y);
00164 };
00165
00166
00167
00168
#endif