| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- class ForceSensitive:
- capacites_base = ["soulever des objets"]
- nb_instances = 0
- def __init__(self, nom, capacites=[]):
- self.nom = nom
- self.capacites = self.capacites_base + capacites
- ForceSensitive.nb_instances += 1
- def nb_capacites(self):
- return len(self.capacites)
- def __str__(self):
- return "Je suis {nom} ({genre}) et j'ai {nb} capacités :\n - {capacites}\n".format(
- nom=self.nom, genre=type(self).__name__, nb=self.nb_capacites(), capacites="\n - ".join(self.capacites)
- )
- class Jedi(ForceSensitive):
- capacites_base = [
- "soulever des objets",
- "combattre au sabre laser",
- "influencer les esprits"
- ]
- class JediBadass(ForceSensitive):
- capacites_base = [
- "soulever des objets",
- "combattre au sabre laser",
- "influencer les esprits",
- "réapparaître comme fantôme"
- ]
- class Sith(ForceSensitive):
- capacites_base = [
- "soulever des objets",
- "combattre au sabre laser",
- "envoyer des éclairs"
- ]
- leia = ForceSensitive("Leia", ["jouer à Mary Poppins"])
- rey = Jedi("Rey", ["à peu près tout faire en fait"])
- luke = Jedi("Luke", ["lancer un sabre avec classe", "entrer en lévitation"])
- obiwan = JediBadass("Obiwan", ["balancer des punchlines de ouf"])
- empereur = Sith("L'Empereur", ["dissimuler la Force", "manipuler et trahir"])
- snoke = ForceSensitive("Snoke", [ "envoyer des éclairs", "troller mes subordonnés","skyper par télépathie"])
- print("\nIl y a {nb_force_sensitives} ForceSensitive en circulation.\n".format(
- nb_force_sensitives=ForceSensitive.nb_instances
- ))
- for personnage in [leia, rey, luke, obiwan, empereur, snoke]:
- print(personnage)
|