1
0

03-classes-starwars.py 1.3 KB

12345678910111213141516171819202122232425262728
  1. class ForceSensitive:
  2. capacites_base = ["soulever des objets"]
  3. def __init__(self, nom, capacites=[]):
  4. self.nom = nom
  5. self.capacites = self.capacites_base + capacites
  6. def __str__(self):
  7. return "Je suis {nom} et je peux :\n - {capacites}\n".format(nom=self.nom, capacites="\n - ".join(self.capacites))
  8. class Jedi(ForceSensitive):
  9. capacites_base = ["soulever des objets", "combattre au sabre laser", "influencer les esprits"]
  10. class JediBadass(ForceSensitive):
  11. capacites_base = ["soulever des objets", "combattre au sabre laser", "influencer les esprits", "réapparaître comme fantôme"]
  12. class Sith(ForceSensitive):
  13. capacites_base = ["soulever des objets", "combattre au sabre laser", "envoyer des éclairs"]
  14. leia = ForceSensitive("Leia Organa Solo", ["jouer à Mary Poppins"])
  15. rey = Jedi("Rey", ["à peu près tout faire en fait"])
  16. luke = Jedi("Luke Skywalker", ["projeter un hologramme", "entrer en lévitation"])
  17. obiwan = JediBadass("Obiwan Kenobi", ["balancer des punchlines de ouf"])
  18. empereur = Sith("L'Empereur", ["dissimuler la Force", "manipuler et trahir"])
  19. snoke = ForceSensitive("Leader Suprême Snoke", ["envoyer des éclairs", "skyper par télépathie"])
  20. for personnage in [leia, rey, luke, obiwan, empereur, snoke]:
  21. print(personnage)