supercasiobros/include/ennemi.h

57 lines
1.2 KiB
C
Raw Normal View History

2019-12-03 19:53:30 +01:00
#ifndef ENNEMI_H
#define ENNEMI_H
#include <box.h>
#define ALIVE 1
#define DEAD 0
#define NOMBRE_ENNEMIS 7
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
#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
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
typedef struct
2019-12-03 19:53:30 +01:00
{
int type :8;
2019-12-03 19:53:30 +01:00
box_t b;
unsigned life :1;
unsigned discovered :1;
int p1 :14;
2019-12-03 19:53:30 +01:00
} ennemi_t;
void ennemiDisplay(ennemi_t const * e);
2019-12-03 19:53:30 +01:00
extern ennemi_t * ennemis_global;
2020-04-03 19:20:03 +02:00
int ennemiesNumber();
void ennemiesDisplay();
2019-12-03 19:53:30 +01:00
void ennemiMove(ennemi_t * e);
2020-01-29 14:34:47 +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);
#endif