Y at-il un moyen en C++ de vérifier que l'effacement réussit?
J'ai deux morceaux de code qui effacent le même objet. Le premier a effacé l'objet, puis le second essaie de l'effacer mais ne trouve pas l'objet. Des idées?C++ efface les vecteurs de contrôle
for(long indexs=0; indexs < (long)Enemie1.vS2Enemie1.size(); indexs++)
{
if((vRegularShots[index].x>=Enemie1.vS2Enemie1[indexs].x && vRegularShots[index].y>=Enemie1.vS2Enemie1[indexs].y && vRegularShots[index].y<=(Enemie1.vS2Enemie1[indexs].y+17) && vRegularShots[index].x<=(Enemie1.vS2Enemie1[indexs].x+17))||(Enemie1.vS2Enemie1[indexs].x>=vRegularShots[index].x && Enemie1.vS2Enemie1[indexs].y>=vRegularShots[index].y && Enemie1.vS2Enemie1[indexs].y<=(vRegularShots[index].y+16) && Enemie1.vS2Enemie1[indexs].x<=(vRegularShots[index].x+5)))
{
Enemie1.vS2Enemie1.erase(Enemie1.vS2Enemie1.begin()+indexs);
vRegularShots.erase(vRegularShots.begin()+index);
score+=100;
}
}
vregularshots
détient les coups de feu qui ont été lancées et les ennemis vS2Enemie1
cales. S'il y a eu deux tirs qui ont touché l'ennemi en même temps, alors il passera en revue les tirs et vérifiera s'il a touché des ennemis, puis effacera l'ennemi et le tir. Mais quand un autre tir a également touché l'ennemi, il essayera d'effacer l'ennemi qui a déjà été effacé.
Une idée?
MISE À JOUR
for(long indexs=0; indexs < (long)Enemie1.vS1Enemie1.size();)
{
if((vRegularShots[index].x>=Enemie1.vS1Enemie1[indexs].x && vRegularShots[index].y>=Enemie1.vS1Enemie1[indexs].y && vRegularShots[index].y<=(Enemie1.vS1Enemie1[indexs].y+17) && vRegularShots[index].x<=(Enemie1.vS1Enemie1[indexs].x+17))||(Enemie1.vS1Enemie1[indexs].x>=vRegularShots[index].x && Enemie1.vS1Enemie1[indexs].y>=vRegularShots[index].y && Enemie1.vS1Enemie1[indexs].y<=(vRegularShots[index].y+16) && Enemie1.vS1Enemie1[indexs].x<=(vRegularShots[index].x+5)))
{
Enemie1.vS1Enemie1.erase(Enemie1.vS1Enemie1.begin()+indexs);
vRegularShots.erase(vRegularShots.begin()+index);
score+=100;
}
else
indexs++;
}
Veuillez fournir un exemple de code qui illustre la question que vous avez. –
Qu'est-ce qu'un 'script'? Le code C++ n'est généralement pas appelé un script, et de toute façon les vecteurs ne restent pas quand votre programme se termine ... – bdonlan
je édite mon poste. – Ramilol