CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • MobilitĂ© urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidĂ©os
    • A la une
    • Gaming Live
    • VidĂ©os Tests
    • VidĂ©os Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidĂ©os
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Bonne pratique classe (Python)

Zakergfx
Zakergfx
Niveau 7
26 septembre 2021 Ă  09:41:48

Bonjour 🙂 Je débute en programmation et j'ai une question concernant les méthodes de classes.
Si j'ai une classe personnage qui peut attaquer et soigner les autres personnages, est-ce qu'il serait mieux de procéder comme ca ? (voir screenshot pour plus de lisibilité)

class Personnage():
def __init__(self):
self.vie = 5
self.degats = 3
self.soin = 2

def attaquer(self, cible):
cible.vie -= self.degats

def soigner(self, cible):
cible.vie += self.soin

ou comme ca ?

class Personnage():
def __init__(self):
self.vie = 5
self.degats = 3
self.soin = 2

def se_prendre_des_degats(self, degats):
self.vie -= degats

def gagner_vie(self, soin):
self.vie += soin

def attaquer(self, cible):
cible.se_prendre_des_degats(self.degats)

def soigner(self, cible):
cible.gagner_vie(self.soin)

merci :)

https://image.noelshack.com/fichiers/2021/38/7/1632642104-sans-titre.png

cybevil
cybevil
Niveau 27
26 septembre 2021 Ă  10:02:31

la deuxième méthode me semble mieux, au moins chaque action est bien définie, par contre n’oublie pas de faire des tests sur les données que tu reçois (points de dégâts négatifs par exemple).

ce que tu peux faire également c’est retirer tout ce qui ne concerne pas directement le vaisseau et en faire des objets à part comme le système de santé et de combat, c’est une bonne pratique de donner à chaque objet un rôle bien précis.

Sous forums
  • Aide Ă  l'achat Mac
  • CrĂ©ation de Jeux
  • Linux
  • Programmation
  • CrĂ©ation de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment