#ifndef ENNEMI_H #define ENNEMI_H #include #define ALIVE 1 #define DEAD 0 #define NOMBRE_ENNEMIS 7 extern const int ennemi_widths[NOMBRE_ENNEMIS]; extern const int ennemi_heights[NOMBRE_ENNEMIS]; #define NONE 0 #define GOOMBA_ID 1 #define KOOPA_V_ID 2 #define CARAPACE_VERTE 3 #define KOOPA_R_ID 4 #define CARAPACE_ROUGE 5 #define PLANTE_ID 6 #define GOOMBA(x,y,dir) {GOOMBA_ID,{x,y,ennemi_widths[GOOMBA_ID],ennemi_heights[GOOMBA_ID],dir,0,0,1},ALIVE,0,dir} #define KOOPA_V(x,y,dir) {KOOPA_V_ID,{x,y,ennemi_widths[KOOPA_V_ID],ennemi_heights[KOOPA_V_ID],dir,0,0,1},ALIVE,0,dir} #define KOOPA_R(x,y,dir) {KOOPA_R_ID,{x,y,ennemi_widths[KOOPA_R_ID],ennemi_heights[KOOPA_R_ID],dir,0,0,1},ALIVE,0,dir} #define PLANTE(x,y) {PLANTE_ID,{x,y,ennemi_widths[PLANTE_ID],ennemi_heights[PLANTE_ID],0,0,0,0},ALIVE,0,0} // pour plante ID, ymin est associé à p1=0 // Dimensions pr les boites typedef struct { int type :8; box_t b; unsigned life :1; unsigned discovered :1; int p1 :14; } ennemi_t; void ennemiDisplay(ennemi_t const * e); extern ennemi_t * ennemis_global; extern int ennemis_global_size; void ennemiesDisplay(); void ennemiMove(ennemi_t * e); void ennemiesInit(ennemi_t * table, int s); #endif