tout a fait, une belle erreur de logique :
struct ennemi Ennemi1
est une structure : elle est qq part en mémoire, on va dire a l´adresse 123456
struct ennemi *pEnnemi[10]
--> tu crées 10 pointeurs sur une struct ennemi
for(i = 0; i < 10; i++)
{
}
--> tu fais pointer tes 10 pointeurs sur l´adresse de Ennemi1 ( &1)
donc tes 10 pointeurs regardent l´adresse 123456
donc quand tu passes par l´un des pointeurs pour changer une donnée, ça change Ennemi1
donc conseil :
struct ennemi pEnnemi[10];
/ / te cree 10 ennemis statiques
si tu preferes faires pointeurs, alors :
struct ennemi* pEnnemi[10];
for(i = 0; i < 10; i++)
{
- pEnnemi[i] = new struct Ennemi;
pEnnemi[i]->champ_a = truc;
pEnnemi[i]->champ_b = chose;
}
et la tu as bien, dans les 2 cas, 10 structures distinctes.