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 : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Partager