Space invaders et collisions : list index out of range
Bonjour
J'ai crée un Space invaders "à ma sauce" tout fonctionnait très bien jusqu'à ce que je prenne en compte les collisions entre mes missiles et mes monstres. Python me signale "list index out of range" dès que j'utilise collideRect
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| # déclenchement d'un nouveau tir de missile dans la liste de missiles
if touches[K_SPACE]:
tir.append(1)
missileRect.append(missile.get_rect())
j=len(missileRect)-1
# initialisation missile
missileRect[j].x = fusee1Rect.x+int(fusee1Rect.w/2)-int(missileRect[j].w/2)
missileRect[j].y = fusee1Rect.y-missileRect[j].h
# déplacement de tous les missiles
j=0
while j<len(missileRect):
if tir[j]==1:
missileRect[j].y=missileRect[j].y-DYm
# sortie d'écran du missile et suppression de la liste de missiles
# Affichage du missile
fenetre.blit(missile, missileRect[j])
# COLLISIOns avec les monstres de type 1
i=0
reponse=0
while not reponse and i<len(monster1Rect):
if monster1Rect[i].colliderect(missileRect[j]):
reponse=1
del monster1Rect[i]
del missileRect[j]
i=i+1 |
Cependant je ne vois pas du tout où est l'erreur dans mon codage T_T)