Salut,
J'ai suis entrain de faire mon TFE intutilé "Bananas Defender", c'est un Tower Defense dont le but est de protéger les bananes d'une invasion de Donkey Kong .
Actuellement, j'ai finit de coder le système de génération de la map et je suis entrain de coder le système de création automatique de Donkey Kong et les faire automatiquement aller vers les bananes .
Voici ma class DK qui est on va dire l'IA des Donkey Kong
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
27
28
29
30
31
32
33
34
35
36
37 class DK: #Classe permettant de générer les ennemis qui sont des Donkey Kong def __init__(self, structure_niveau, png, niveau): #Sprites du personnage self.donkey = pygame.image.load(png).convert_alpha() #Position du personnage en cases et en pixels self.case_x = 0 self.case_y = 0 self.x = 0 self.y = 0 #Niveau dans lequel le personnage se trouve self.niveau = niveau def rechercher(self,case_x,case_y): #Si un Donkey Kong arrive à la banane, on return 'end' if structure_niveau[self.case_y][self.case_x+1] == 'd': self.game = 'end' return self.game #Sinon on recherche le "way" obstacle sur la ligne if structure_niveau[case_y][case_x+1] == 'w': #Déplacement d'une vers la droite si c'est un "way" self.case_x += 1 #Calcul de la position de de la case "way" pour Donkey Kong self.x = case_x * 40 self.y = case_y * 40 self.new_pos = "(+self.x+,+self.y+)" return self.new_pos #Si elle n'est pas sur la même ligne, on regarde si elle est sur la colone elif structure_niveau[self.case_y+1][self.case_x] == 'w': self.case_y += 1 self.x = case_x * 40 self.y = case_y * 40 self.new_pos = "(+self.x+,+self.y+)" return self.new_pos
Et voila comment j'esseye de générer mes 10 Donkey Kong
Voici mon erreur :
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 #Combien d'ennemis nb_ennemis = 10 liste_ennemis = [] #Création de Donkey Kong donkey = DK(structure_niveau, "image/dk.png", choix) for event in pygame.event.get(): cpt_ennemis = 0 while (cpt_ennemis < nb_ennemis) : #Affichages aux nouvelles positions niveau.afficher(fenetre) #Position par défault de Donkey Kong """image_dk = pygame.image.load(dkpng).convert() fenetre.blit(image_dk,(0,0))""" pygame.display.flip() pygame.time.Clock().tick(1) #Lancement de Donkey Kong i = 0 x = 0 y = 0 o = 0 donkeyseek = donkey.rechercher(0,0) liste_ennemis.append(donkey) liste_ennemis.append[i](donkeyseek) while liste_ennemis[i][o] != "end": fenetre.blit(image_dk,donkey.rechercher(x,y)) pygame.display.flip() new_pos = liste_ennemis[i][o] liste_ennemis[i][o] = liste_ennemis[i][donkey.rechercher[new_pos]] if liste_ennemis[i][o] == "end": continuer_accueil = 0 continuer_jeu = 0 continuer = 0
liste_ennemis.append[i](donkeyseek)
TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'
Merci d'avance pour vos réponse
Partager