Définitions d'objets et de méthode
Bonjour tout le monde.
Alors déjà je me présente, je débute en programmation. Je viens de m'inscrire sur votre site afin de compter sur votre aide qui pourrait m'être précieuse.
Pour vous situer mon niveau actuel en programmation, je regarde des vidéos sur youtube par le biais de la chaîne "Graven-développement", je suis actuellement au 7e épisode de sa série sur le python, qui traite des objets.
Jusque là je n'avais jamais eu de gros problème d'incompréhension mais j'avoue que dorénavant, cela commence à être difficile à suivre.
Pour contextualiser, Graven nous fait créer des personnages avec différents attribut. On voit ensuite comment utiliser les fonctions afin de faire des textes avec les possibles actions que pourraient faire les personnages.
Je dois avouer que je suis complètement perdu sur ce côté là.
De plus, alors, que j'ai suivi à la lettre ce qu'il a fait (enfin je croyais), la console m'indique une erreur là où lui n'en a pas...
Je vous met donc le code ci-joint ainsi que la réponse à la console juste après.
Je tiens à rajouter que toute précision par rapport aux commentaires que j'ai fait dans mon développement et qui paraissent flous sont vivement acceptées ^^
voici le code:
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| #on créer une nouvelle classe : le joueur / on peut représenter ça comme un moule
class Player:
#on défini une fonction qui attribut les différentes caratcéristiqie du joueur
def __init__(self, pseudo, health, attack):
#on introduit ensuite les caractéristique dans le self
self.pseudo = pseudo
self.health = health
self.attack = attack
#on peut ensuite faire un message de bienvenue
print("Bienvenue à toi", pseudo, "tu as" , health,"points de vie et", attack, " points d'attaque:")
#méthode appelée guetteur ou ascesseur
def get_pseudo(self):
return self.pseudo
def get_health(self):
return self.health
def get_attack(self):
return self.attack
#méthode de setteur
#modifier/changer des valeurs
def damage(self, damage):
self.health -= damage
print("Aie...vous venez de subir", damage, "dégâts !")
def attack_player(self, target_player):
target_player.damage(self.attack)
#création d'une nouvelle instance = on fait un nouveau gâteau grâce au moule créé au préalable
#Dans ce cas : ça crée un nouveau joueur
#on met ensuite dans les paramètres (dans les parenthèse) les différentes options qu'il y a dans le moule
player1 = Player("aXiy", 20, 3)
player2 = Player("Alban", 30, 2)
player1.attack_player(player2)
print(player1.get_pseudo(), "attaque", player2.get_pseudo())
print(player2.get_pseudo()"a désormais", player2.get_health(), "points de vie") |
Je pense qu'il y a une certaine manière pour faire paraître le code dans le message mais malheureusement je ne le connait pas...
voici la réponse de la console :
C:\Users\qoyl6\AppData\Local\Programs\Python\Python37\python.exe D:/Programmation/myfirstproject/Ep7/Objets.py
File "D:/Programmation/myfirstproject/Ep7/Objets.py", line 30
def attack_player(self, target_player):
^
IndentationError: unindent does not match any outer indentation level
Process finished with exit code 1
Merci beaucoup pour votre attention et votre aide :).
Cordialement