Utilisation methode d'une classe dans une autre classe
titodore3
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
titodore3 Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
titodore3 Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je vient tout juste de m'inscrire sur https://forums.commentcamarche.net/forum/
J'en viens à faire appel à vous, communauté de CCM dans le cadre d'un TFA (ravail de fin d'année). Il se fait que dans ce TFA, je me heurte à certains problèmes
Cela fait plusieurs jours que je cherche pour ce "léger" problème qui, à mon avis, possède une solution toute bête.
Donc pour l'instant je débute dans ce travail, c'est un jeu de Tower defense (Donc des tours qui doivent tuer des ennemis)
J'aimerais, dans une méthode de ma classe Tour, utiliser une méthode de la classe Ennemi (qui n'est pas liée par un héritage) afin de tirer sur cet ennemi et lui enlever des points de vie.
la méthode tirer() de la classe Tour utilise la méthode set_vie() de la classe Ennemi afin de modifier la vie , mais voila.. je ne parvient pas a utiliser la méthode.
J'ai déja demander a mon professeurs et à d'aurtes élèves et personne ne sais. Cela me bloque énormément dans mon projet.
Merci d'avance,
Titodore3
PS: Veuillez m'excuser pour la présentation, je ne suis pas très habitué aux forums alors je suis ouvert à vos conseils^^'
Voici mes 3 fichiers
Fichier 2
Fichier 3
Je vient tout juste de m'inscrire sur https://forums.commentcamarche.net/forum/
J'en viens à faire appel à vous, communauté de CCM dans le cadre d'un TFA (ravail de fin d'année). Il se fait que dans ce TFA, je me heurte à certains problèmes
Cela fait plusieurs jours que je cherche pour ce "léger" problème qui, à mon avis, possède une solution toute bête.
Donc pour l'instant je débute dans ce travail, c'est un jeu de Tower defense (Donc des tours qui doivent tuer des ennemis)
J'aimerais, dans une méthode de ma classe Tour, utiliser une méthode de la classe Ennemi (qui n'est pas liée par un héritage) afin de tirer sur cet ennemi et lui enlever des points de vie.
la méthode tirer() de la classe Tour utilise la méthode set_vie() de la classe Ennemi afin de modifier la vie , mais voila.. je ne parvient pas a utiliser la méthode.
J'ai déja demander a mon professeurs et à d'aurtes élèves et personne ne sais. Cela me bloque énormément dans mon projet.
Merci d'avance,
Titodore3
PS: Veuillez m'excuser pour la présentation, je ne suis pas très habitué aux forums alors je suis ouvert à vos conseils^^'
Voici mes 3 fichiers
from Tour import* from Ennemi import* tour1=Tour("air",10,10,10,10,10,10)# cree une tour air ennemi1=Ennemi("air",50,50,50,250,50) print("l'ennemi a ",ennemi1.get_vie(),"pv") tour1.tirer()#ligne a laquelle j'aimerais tirer et enlever X points à un ennemi print("l'ennemi a ",ennemi1.get_vie(),"pv") #creer la fenetre graphique #placer l'image correspondant au niveau # placer tout les menus
Fichier 2
class Ennemi: "cree et manipule un ennemi" def __init__(self,typage,vitesse,valeur_score,butin,vie,direction): "initialise l'ennemi avec ses attributs" ######intialisation des variables##### self.vitesse=vitesse self.typage=typage self.valeur_score=valeur_score self.vie=vie self.butin=butin self.direction=direction ###### # //\\Placer la tour sur la fenetre de jeu a une position precise # et des attributs precis ###### methodes GET ## def get_vitesse(self): return self.vitesse def get_typage(self): return self.typage def get_valeur_score(self): return self.valeur_score def get_butin(self): return self.butin def get_vie(self): return self.vie def get_direction(self): return self.direction ##### methodes set ### def set_vitesse(self,vitesse): self.vitesse=vitesse def set_typage(self,typage): self.typage=typage def set_valeur_score(self,valeur_score): self.valeur_score=valeur_score def set_butin(self,butin): self.butin=butin def set_vie(self,vie): self.vie=vie def set_direction(self,direction): self.direction=direction ###### autres methodes ###
Fichier 3
from Ennemi import* class Tour: "cree et manipule une tour. lorsque l'utilisateur cliquera sur par ex" "tour1, on instanciera une tour avec les attributs specifiques a tour1" "( dans la base de donnees)" nb_tours=0 def __init__(self,typage,portee,vitesse,cout,degats_min,degats_max,vente): "initialise la tour avec ses attributs" ######intialisation des variables##### self.typage=typage self.portee=portee self.vitesse=vitesse self.cout=cout self.degats_min=degats_min self.degats_max=degats_max self.vente=vente ###### # retire l'argent au joueur #joueur.set_argent_actuel(-(self.cout)) # //\\Placer la tour sur la fenetre de jeu a une position precise # et des attributs precis ###### methodes get ### def get_typage(self): return self.typage def get_portee(self): return self.portee def get_vitesse(self): return self.vitesse def get_cout(self): return self.cout def get_degats_min(self): return self.degats_min def get_degats_max(self,): return self.degats_max def get_vente(self): return self._vente ##### methodes set ### def set_typage(self,typage): self.typage=typage def set_portee(self,portee): self.portee=portee def set_vitesse(self,vitesse): self.vitesse=vitesse def set_cout(self,cout): self.cout=cout def set_degats_min(self,degats_min): self.degats_min=degats_min def set_degats_max(self,degats_max): self.degats_max=degats_max def set_vente(self,vente): self._vente=vente ###### autres methodes ### def achat(self): joueur.set_argent_actuel(self.vente) def tirer(self): ennemi1.set_vie(-10) def cible(self): pass def portee(self): pass #def tirer(self,ennemi_vise): # "en attribut: l'identifiant de l'ennemi vise" #ennemi_vise.set_vie(-(self.degats_min)) #vente=property(get_vente,set_vente)
A voir également:
- Utilisation methode d'une classe dans une autre classe
- Utilisation chromecast - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- Utiliser une tablette comme ecran pc - Guide
- Bluetooth mercedes classe a - Forum Autoradio
- Dans le code de la page, modifiez la couleur de fond de la classe .pix. un code de 4 chiffres doit apparaître dans la grille. lequel ? ✓ - Forum Excel
1 réponse
J'ai trouvé réponse à ma question via un autre forum
je cite :
"
tirer prend en paramètre un ennemi, donc sans regarder tout le code je dirais un truc du genre tour1.tirer(ennemi1)
"
"
Dans le programme principal, il faut mettre :
1
tour1.tirer(ennemi1) #ligne a laquelle j'aimerais tirer et enlever X points a un ennemi
Dans la classe Tour :
1
2
def tirer(self,mechant):
mechant.recoit_coup(10)
Et dans la classe Ennemi :
1
2
def recoit_coup(self,coup):
self.vie -= coup
"
je cite :
"
tirer prend en paramètre un ennemi, donc sans regarder tout le code je dirais un truc du genre tour1.tirer(ennemi1)
"
"
Dans le programme principal, il faut mettre :
1
tour1.tirer(ennemi1) #ligne a laquelle j'aimerais tirer et enlever X points a un ennemi
Dans la classe Tour :
1
2
def tirer(self,mechant):
mechant.recoit_coup(10)
Et dans la classe Ennemi :
1
2
def recoit_coup(self,coup):
self.vie -= coup
"