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

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
Voici mon erreur :
liste_ennemis.append[i](donkeyseek)
TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'

Merci d'avance pour vos réponse