2019-12-03 19:53:30 +01:00
|
|
|
#ifndef ENNEMI_H
|
2020-02-16 20:43:35 +01:00
|
|
|
#define ENNEMI_H
|
2019-12-11 16:31:18 +01:00
|
|
|
|
2020-02-25 18:42:40 +01:00
|
|
|
#include <box.h>
|
|
|
|
|
|
|
|
#define ALIVE 1
|
|
|
|
#define DEAD 0
|
|
|
|
|
|
|
|
#define NOMBRE_ENNEMIS 7
|
2019-12-11 16:31:18 +01:00
|
|
|
extern const int ennemi_widths[NOMBRE_ENNEMIS];
|
|
|
|
extern const int ennemi_heights[NOMBRE_ENNEMIS];
|
2019-12-03 19:53:30 +01:00
|
|
|
|
2019-12-07 19:26:55 +01:00
|
|
|
#define NONE 0
|
2019-12-11 16:31:18 +01:00
|
|
|
|
|
|
|
#define GOOMBA_ID 1
|
|
|
|
#define KOOPA_V_ID 2
|
2020-01-28 21:32:58 +01:00
|
|
|
#define CARAPACE_VERTE 3
|
|
|
|
#define KOOPA_R_ID 4
|
2020-02-16 20:43:35 +01:00
|
|
|
#define CARAPACE_ROUGE 5
|
2020-02-25 18:42:40 +01:00
|
|
|
#define PLANTE_ID 6
|
2019-12-11 16:31:18 +01:00
|
|
|
|
2020-02-25 18:42:40 +01:00
|
|
|
#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}
|
2020-03-07 15:22:39 +01:00
|
|
|
// pour plante ID, ymin est associé à p1=0
|
2019-12-03 19:53:30 +01:00
|
|
|
|
2020-03-10 19:20:06 +01:00
|
|
|
|
|
|
|
|
|
|
|
#define PLANTE_NLAPS 99
|
2019-12-07 19:26:55 +01:00
|
|
|
|
|
|
|
|
2020-02-16 20:43:35 +01:00
|
|
|
typedef struct
|
2019-12-03 19:53:30 +01:00
|
|
|
{
|
2019-12-11 16:31:18 +01:00
|
|
|
int type :8;
|
2019-12-03 19:53:30 +01:00
|
|
|
box_t b;
|
2019-12-11 16:31:18 +01:00
|
|
|
unsigned life :1;
|
|
|
|
unsigned discovered :1;
|
|
|
|
int p1 :14;
|
2019-12-03 19:53:30 +01:00
|
|
|
} ennemi_t;
|
|
|
|
|
2020-03-04 15:08:35 +01:00
|
|
|
void ennemiDisplay(ennemi_t const * e);
|
2019-12-03 19:53:30 +01:00
|
|
|
|
|
|
|
extern ennemi_t * ennemis_global;
|
|
|
|
extern int ennemis_global_size;
|
2020-02-16 20:43:35 +01:00
|
|
|
void ennemiesDisplay();
|
2019-12-03 19:53:30 +01:00
|
|
|
|
2020-03-04 15:08:35 +01:00
|
|
|
void ennemiMove(ennemi_t * e);
|
2020-01-29 14:34:47 +01:00
|
|
|
|
2020-02-25 18:42:40 +01:00
|
|
|
void ennemiesInit(ennemi_t * table, int s);
|
2020-02-01 14:36:34 +01:00
|
|
|
|
2020-03-10 19:20:06 +01:00
|
|
|
void plante_tour(ennemi_t *e);
|
|
|
|
|
2020-02-16 20:43:35 +01:00
|
|
|
#endif
|