# Création du sprite du personnage init 50: image personnage = Placeholder("[m.c]") # Définition des éléments communs aux personnages init 0 python: class Personnage(object): # Variables des classes des personnages def __init__(self): self.c = None self.genre = None self.age = None self.conjoint = None self.attirance = None self.enfants = None self.social = None self.salaire = None self.entreprise = None self.experience = None self.anciennete = None self.etudes = None self.chomage = None self.humeur = None # Méthode qui définit la fiche personnage complète def etat_civil(self): # genre self.genre = renpy.random.choice(["homme", "femme"]) # nom en fonction du genre if self.genre == "femme": idiome = renpy.random.choice(["Juliette", "Sylvie", "Rachel", "Lydie", "Anaëlle"]) self.c = Character(idiome, color="#af0f0fff") else: # si c'est un homme #TODO Externaliser les listes de noms idiome = renpy.random.choice(["Gérard", "Pierre", "Olivier", "Jules", "Maxime"]) self.c = Character(idiome, color="#af0f0fff") # âge (de 18 à 64 ans) self.age = renpy.random.randint(18,64) # conjoint (non = 0, oui = 1) self.conjoint = renpy.random.randint(0,1) # attirance (hétéro = 0, gay = 1) self.attirance = renpy.random.randint(0,1) # enfants (0 à 3) #TODO Nuancer nb enfant par rapport situation familiale en s'appuyant sur des statistiques self.enfants = renpy.random.randint(0,3) # situation sociale self.social = renpy.random.choice(["technicien", "secrétaire", "graphiste"]) # nombre d'années d'études # TODO pondérer par des statistiques self.etudes = renpy.random.randint(0,8) # nombre d'annés d'expérience sur toute la carrière self.experience = renpy.random.randint(0, self.age - 18 + self.etudes) # entreprise employeuse self.entreprise = renpy.random.choice(["SAFE energies", "Watt-o-watt", "Enercentrale"]) # nombre d'années d'ancienneté dans l'entreprise self.anciennete = renpy.random.randint(0, self.experience) # nombre d'années de chômage self.chomage = self.age - 18 - self.etudes - self.experience # salaire brut actuel # TODO s'appuyer sur des statistiques # salaire de base if self.social == "technicien": self.salaire = renpy.random.randint(1400, 1700) if self.social == "secrétaire": self.salaire = renpy.random.randint(1700, 2000) if self.social == "graphiste": self.salaire = renpy.random.randint(2000, 4000) # majoration suivant l'experience (5% par année d'exp) # TODO s'appuyer sur des statistiques self.salaire = self.salaire + (self.salaire * self.experience * 0.05) # minoration de 20% si genre = femme if self.genre == "femme": self.salaire = self.salaire - (self.salaire * 0.2) # suppression des décimales self.salaire = int(self.salaire) # Humeur du personnage (de base 0) self.humeur = 0 # Méthode qui permet d'appeller les dialogues avec les autres personnages def parle(self,sujet): # Réglage de l'humeur (<10 = sympahtique, entre -10 et 10 = neutre, >10 = antipathique) if self.humeur >= 10: mood = "sympathique" elif self.humeur <= -10: mood = "antipathique" else: mood = "neutre" # Parsing des label (nom.sujet_humeur) parse = str(self.c)+"."+str(sujet)+"_"+str(mood) return parse