Premier ajout

This commit is contained in:
electro positron 2024-01-10 11:23:13 +00:00
parent 8575d8f785
commit 876e546ca1
4 changed files with 2473 additions and 0 deletions

496
game/gui.rpy Normal file
View file

@ -0,0 +1,496 @@
################################################################################
## Initialisation
################################################################################
## L'instruction init offset fait exécuter les instructions d'initialisation de
## ce fichier tavant les instructions init des autres fichiers.
init offset = -2
## Appelé gui.init réinitialise les styles à leurs valeurs par défaut et
## initialise la largeur et la hauteur du jeu.
init python:
gui.init(1920, 1080)
## Active la vérification de propriétés invalides ou instables dans les screens
## et transforms
define config.check_conflicting_properties = True
################################################################################
## Variables de Configuration du GUI
################################################################################
## Couleurs ####################################################################
##
## Les couleurs du texte dans linterface.
## Une couleur utilisée dans linterface pour mettre laccent sur un texte
## (surbrillance).
define gui.accent_color = '#990000'
## La couleur utilisée pour le texte dun bouton quand il na jamais été
## sélectionné ou survolé.
define gui.idle_color = '#707070'
## La petite couleur est utilisé pour les textes courts qui nécessitent dêtre
## assombris ou éclairés pour obtenir le même effet.
define gui.idle_small_color = '#606060'
## Cette couleur est utilisée pour les boutons et les barres qui sont survolées.
define gui.hover_color = '#990000'
## Cette couleur est utilisé pour le texte dun bouton sélectionné, mais qui na
## pas le focus. Un bouton est sélectionné sil est sur lécran actuel ou si
## cest la valeur de préférence.
define gui.selected_color = '#555555'
## La couleur utilisée pour le texte dun bouton qui ne peut pas être
## sélectionné.
define gui.insensitive_color = '#7070707f'
## Couleurs utilisées pour les portions de barres qui ne sont pas remplies.
## Elles ne sont pas utilisées directement, mais quand les fichiers dimages
## sont régénérés.
define gui.muted_color = '#c16666'
define gui.hover_muted_color = '#d69999'
## Les couleurs utilisées pour les dialogues et les menus de choix.
define gui.text_color = '#404040'
define gui.interface_text_color = '#404040'
## Polices et tailles de police ################################################
## Les polices utilisées pour le texte du jeu.
define gui.text_font = "DejaVuSans.ttf"
## Les polices utilisées pour le nom des personnages.
define gui.name_text_font = "DejaVuSans.ttf"
## Les polices utilisées pour les textes « hors du jeu ».
define gui.interface_text_font = "DejaVuSans.ttf"
## La taille normale pour les dialogues.
define gui.text_size = 33
## La taille pour le nom des personnages.
define gui.name_text_size = 45
## La taille du texte dans linterface de jeu.
define gui.interface_text_size = 33
## La taille des libellés dans linterface de jeu.
define gui.label_text_size = 36
## La taille du texte dans la zone de notification.
define gui.notify_text_size = 24
## La taille du titre du jeu.
define gui.title_text_size = 75
## Menu du jeu et menu principal ###############################################
## Les images utilisées pour le menu principal et le menu du jeu.
define gui.main_menu_background = "gui/main_menu.png"
define gui.game_menu_background = "gui/game_menu.png"
## Dialogue ####################################################################
##
## Ces variables contrôlent comment les dialogues sont affichés une ligne à la
## fois.
## La hauteur de la fenêtre contenant les dialogues.
define gui.textbox_height = 278
## Lemplacement vertical de la zone de texte à lécran. 0.0 pour le haut, 0.5
## pour le centre et 1.0 pour le bas.
define gui.textbox_yalign = 1.0
## Lemplacement relatif à la zone de texte du nom du personnage en train de
## parler. La valeur peut être un nombre entier de pixels depuis la gauche ou le
## haut ou 0.5 pour le centre.
define gui.name_xpos = 360
define gui.name_ypos = 0
## Lalignement horizontal du nom du personnage. La valeur peut être 0.0 pour un
## alignement à gauche, 0.5 pour le centrer et 1.0 pour un alignement à droite.
define gui.name_xalign = 0.0
## La largeur, profondeur et les bords de la zone contenant le nom du personnage
## ou « None » pour le dimensionner automatiquement.
define gui.namebox_width = None
define gui.namebox_height = None
## Les bordures de la zone contenant le nom du personnage dans lordre suivant
## gauche, haut, droite, bas.
define gui.namebox_borders = Borders(5, 5, 5, 5)
## Si « True » (vrai), larrière plan de zone du nom sera en mosaïque, si
## « False »(faux), larrière plan de la zone du nom sera mis à léchelle.
define gui.namebox_tile = False
## Lemplacement du dialogue relatif à la zone de texte. La valeur peut être un
## nombre entier de pixels depuis la gauche ou le haut ou 0.5 pour le centre.
define gui.dialogue_xpos = 402
define gui.dialogue_ypos = 75
## La largeur maximale en pixels de la zone de dialogue.
define gui.dialogue_width = 1116
## Lalignement horizontal de la zone de dialogue. La valeur peut être 0.0 pour
## un alignement à gauche, 0.5 pour le centrer et 1.0 pour un alignement à
## droite.
define gui.dialogue_text_xalign = 0.0
## Boutons #####################################################################
##
## Ces variables, ainsi que les fichiers dimage dans gui/button, contrôlent la
## façon dafficher les boutons et leur aspect.
## La largeur et la hauteur dun bouton en pixels. Si aucune valeur nest
## renseignée (None), RenPy calcule la taille.
define gui.button_width = None
define gui.button_height = None
## Les bordures de chaque côté du bouton dans lordre suivant gauche, haut,
## droit, bas.
define gui.button_borders = Borders(6, 6, 6, 6)
## Si « True » (vrai), limage darrière plan sera en mosaïque, si
## « False »(faux), elle sera mise à léchelle.
define gui.button_tile = False
## La police utilisée par le bouton.
define gui.button_text_font = gui.interface_text_font
## La taille du texte utilisée pour le bouton.
define gui.button_text_size = gui.interface_text_size
## La couleur du texte des boutons dans différents états.
define gui.button_text_idle_color = gui.idle_color
define gui.button_text_hover_color = gui.hover_color
define gui.button_text_selected_color = gui.selected_color
define gui.button_text_insensitive_color = gui.insensitive_color
## L'alignement horizontal du texte des boutons. (0.0 est à gauche, 0.5 est au
## centre, 1.0 est à droite).
define gui.button_text_xalign = 0.0
## Ces variables surchargent les paramètres par défaut pour différents types de
## boutons. Veuillez consulter la documentation de linterface de jeu (GUI) pour
## les types de boutons disponibles et leurs usages.
##
## Ces personnalisations sont utilisées par linterface par défaut :
define gui.radio_button_borders = Borders(27, 6, 6, 6)
define gui.check_button_borders = Borders(27, 6, 6, 6)
define gui.confirm_button_text_xalign = 0.5
define gui.page_button_borders = Borders(15, 6, 15, 6)
define gui.quick_button_borders = Borders(15, 6, 15, 0)
define gui.quick_button_text_size = 21
define gui.quick_button_text_idle_color = gui.idle_small_color
define gui.quick_button_text_selected_color = gui.accent_color
## Vous pouvez également ajouter vos propres personnalisations en ajoutant des
## variables correctement nommées. Par exemple, vous pouvez décommanter la ligne
## suivante pour personnaliser la largeur du bouton de navigation.
# define gui.navigation_button_width = 250
## Boutons pour les choix ######################################################
##
## Les boutons pour les choix (Choice buttons) sont utilisés dans le jeu pour
## permettre au joueur de choisir telle ou telle action, tel ou tel dialogue.
define gui.choice_button_width = 1185
define gui.choice_button_height = None
define gui.choice_button_tile = False
define gui.choice_button_borders = Borders(150, 8, 150, 8)
define gui.choice_button_text_font = gui.text_font
define gui.choice_button_text_size = gui.text_size
define gui.choice_button_text_xalign = 0.5
define gui.choice_button_text_idle_color = '#707070'
define gui.choice_button_text_hover_color = "#ffffff"
define gui.choice_button_text_insensitive_color = '#7070707f'
## Boutons des emplacements de fichiers. #######################################
##
## Un bouton demplacement de fichier est un type spécial de bouton. Il contient
## une vignette et un texte décrivant le contenu de la sauvegarde présente dans
## lemplacement. Un emplacement de sauvegarde utilise une image dans gui/
## button, comme les autres types de bouton.
## Le bouton demplacement de sauvegarde.
define gui.slot_button_width = 414
define gui.slot_button_height = 309
define gui.slot_button_borders = Borders(15, 15, 15, 15)
define gui.slot_button_text_size = 21
define gui.slot_button_text_xalign = 0.5
define gui.slot_button_text_idle_color = gui.idle_small_color
define gui.slot_button_text_selected_idle_color = gui.selected_color
define gui.slot_button_text_selected_hover_color = gui.hover_color
## La largeur et la hauteur des vignettes de sauvegarde utilisée pour les
## emplacements de sauvegarde.
define config.thumbnail_width = 384
define config.thumbnail_height = 216
## Le nombre de colonnes et de lignes pour la grille des emplacements de
## sauvegarde.
define gui.file_slot_cols = 3
define gui.file_slot_rows = 2
## Positionnement et espacement ################################################
##
## Ces variables contrôlent lespacement et le positionnement des différents
## éléments de linterface utilisateur.
## La position sur le côté gauche des boutons de navigation, relatif au côté
## gauche de l'écran.
define gui.navigation_xpos = 60
## La position vertical du lindicateur de saut des dialogues.
define gui.skip_ypos = 15
## La position verticale de la zone de notification.
define gui.notify_ypos = 68
## Lespacement entre les différents choix du menu.
define gui.choice_spacing = 33
## Boutons dans la section de navigation du menu principal et du menu de jeu.
define gui.navigation_spacing = 6
## Contrôle lespacement entre les préférences.
define gui.pref_spacing = 15
## Contrôle lespacements entre les boutons de préférences.
define gui.pref_button_spacing = 0
## Lespacement entre les boutons de page.
define gui.page_spacing = 0
## Lespacement entre les emplacements de sauvegarde.
define gui.slot_spacing = 15
## La position du texte du menu principal.
define gui.main_menu_text_xalign = 1.0
## Cadres ######################################################################
##
## Ces variables contrôlent le look des cadres qui peuvent contenir les
## composants de linterface utilisateur quand un overlay ou une fenêtre ne sont
## pas présents.
## Frames génériques.
define gui.frame_borders = Borders(6, 6, 6, 6)
## Le cadre qui est utilisé par les écrans de confirmation.
define gui.confirm_frame_borders = Borders(60, 60, 60, 60)
## Le cadre qui est utilisé par lécran de saut des dialogues.
define gui.skip_frame_borders = Borders(24, 8, 75, 8)
## Le cadre qui est utilisé par la zone de notification.
define gui.notify_frame_borders = Borders(24, 8, 60, 8)
## Est-ce que les arrière-plans des cadres doivent être en mosaïque ?
define gui.frame_tile = False
## Barres, ascenseurs et curseurs ##############################################
##
## Ceux-ci contrôlent le look et la taille des barres, des ascenseurs et des
## curseurs.
##
## Le GUI par défaut utilise uniquement des sliders et des barres de scrolling
## verticales. Toutes les autres barres ne sont utilisées que dans des screens
## écrits par l'utilisateur.
## La hauteur des barres, des ascenseurs et des curseurs horizontaux. La largeur
## des barres, des ascenseurs et des curseurs verticaux.
define gui.bar_size = 38
define gui.scrollbar_size = 18
define gui.slider_size = 38
## « True » (Vrai) si les images de barres doivent être en mosaïques.
## « False »(Faux) si elles doivent être mise à l'échelle (étirement).
define gui.bar_tile = False
define gui.scrollbar_tile = False
define gui.slider_tile = False
## Bordures horizontales.
define gui.bar_borders = Borders(6, 6, 6, 6)
define gui.scrollbar_borders = Borders(6, 6, 6, 6)
define gui.slider_borders = Borders(6, 6, 6, 6)
## Bordures verticales.
define gui.vbar_borders = Borders(6, 6, 6, 6)
define gui.vscrollbar_borders = Borders(6, 6, 6, 6)
define gui.vslider_borders = Borders(6, 6, 6, 6)
## Que faire avec les ascenseurs non utilisables dans le GUI ? « hide » les
## cache tandis que « None » les affiche.
define gui.unscrollable = "hide"
## Historique ##################################################################
##
## Lécran de lhistorique affiche les dialogues que le joueur vient de lire.
## Le nombre de blocs que lhistorique de dialogue RenPy va conserver.
define config.history_length = 250
## La hauteur de lécran historique ou « None » pour calculer la hauteur au prix
## dune légère perte de performance.
define gui.history_height = 210
## La position, largeur et alignement du label donnant le nom du personnage en
## train de parler.
define gui.history_name_xpos = 233
define gui.history_name_ypos = 0
define gui.history_name_width = 233
define gui.history_name_xalign = 1.0
## La position, largeur et alignement de la zone de dialogue.
define gui.history_text_xpos = 255
define gui.history_text_ypos = 3
define gui.history_text_width = 1110
define gui.history_text_xalign = 0.0
## Mode NVL ####################################################################
##
## Lécran du mode NVL affiche les dialogues prononcés par les personnages eux-
## mêmes en mode NVL.
## Les bordures de larrière-plan de la fenêtre en mode NVL.
define gui.nvl_borders = Borders(0, 15, 0, 30)
## Le nombre maximum d'entrées en mode NVL que Ren'Py affichera. Quand plus
## d'entrées sont affichées, les plus anciennes seront retirées.
define gui.nvl_list_length = 6
## La hauteur dune entrée en mode NVL. Initialisez-la à « None » pour que la
## hauteur des entrées sajuste automatiquement.
define gui.nvl_height = 173
## Lespacement entre les entrées en mode NVL quand gui.nvl_height est à
## « None » et entre les entrées en mode NVL et le menu en mode NVL.
define gui.nvl_spacing = 15
## La position, largeur et alignement du label donnant le nom du personnage en
## train de parler.
define gui.nvl_name_xpos = 645
define gui.nvl_name_ypos = 0
define gui.nvl_name_width = 225
define gui.nvl_name_xalign = 1.0
## La position, largeur et alignement de la zone de dialogue.
define gui.nvl_text_xpos = 675
define gui.nvl_text_ypos = 12
define gui.nvl_text_width = 885
define gui.nvl_text_xalign = 0.0
## La position, profondeur et lalignement du text nvl_tought (Le texte prononcé
## par le personnage nvl_narrator).
define gui.nvl_thought_xpos = 360
define gui.nvl_thought_ypos = 0
define gui.nvl_thought_width = 1170
define gui.nvl_thought_xalign = 0.0
## La position de nvl menu_buttons.
define gui.nvl_button_xpos = 675
define gui.nvl_button_xalign = 0.0
## Localisation (traduction et adaptation aux langues et cultures) #############
## Ceci contrôle où un saut de ligne est autorisé. La valeur par défaut convient
## à la plupart des langues. Une liste des valeurs disponible peut être trouvée
## sur https://www.renpy.org/doc/html/style_properties.html#style-property-
## language
define gui.language = "unicode"
################################################################################
## Appareils mobiles
################################################################################
init python:
## Ceci augmente la taille des boutons daccès rapide pour les rendre plus
## accessibles sur les tablettes et les téléphones.
@gui.variant
def touch():
gui.quick_button_borders = Borders(60, 21, 60, 0)
## Ceci change la taille et lespacement de différents élements de la GUI
## pour sassurer quils soient visibles sur les téléphones.
@gui.variant
def small():
## Tailles des polices.
gui.text_size = 45
gui.name_text_size = 54
gui.notify_text_size = 38
gui.interface_text_size = 45
gui.button_text_size = 45
gui.label_text_size = 51
## Ajuste la position de la zone de texte.
gui.textbox_height = 360
gui.name_xpos = 120
gui.dialogue_xpos = 135
gui.dialogue_width = 1650
## Changer la taille et l'espacement de diverses choses.
gui.slider_size = 54
gui.choice_button_width = 1860
gui.choice_button_text_size = 45
gui.navigation_spacing = 30
gui.pref_button_spacing = 15
gui.history_height = 285
gui.history_text_width = 1035
gui.quick_button_text_size = 30
## Remplit le canvas du bouton.
gui.file_slot_cols = 2
gui.file_slot_rows = 2
## Mode NVL.
gui.nvl_height = 255
gui.nvl_name_width = 458
gui.nvl_name_xpos = 488
gui.nvl_text_width = 1373
gui.nvl_text_xpos = 518
gui.nvl_text_ypos = 8
gui.nvl_thought_width = 1860
gui.nvl_thought_xpos = 30
gui.nvl_button_width = 1860
gui.nvl_button_xpos = 30

226
game/options.rpy Normal file
View file

@ -0,0 +1,226 @@
## Ce fichier contient les options qui peuvent être modifiées pour personnaliser
## votre jeu.
##
## Les lignes qui commencent avec deux dièses '#' sont des commentaires et vous
## ne devriez pas les décommenter. Les lignes qui commencent avec un seul dièse
## sont du code commenté et vous pouvez les décommentez quand cest approprié
## (pour votre projet).
## Bases #######################################################################
## Un nom de jeu intelligible. Il est utilisé pour personnaliser le titre de la
## fenêtre par défaut et saffiche dans linterface ainsi que dans les rapports
## derreur.
##
## La chaîne de caractère contenu dans _() est éligible à la traduction.
define config.name = _("Patron, donne-moi une augmentation")
## Détermine si le titre renseigné plus haut est affiché sur l'écran du menu
## principal Configurez-le à False (Faux) pour cacher le titre.
define gui.show_name = True
## La version du jeu.
define config.version = "1.0"
## Texte placé sur l'écran "À propos" du jeu. Placez le texte entre triples
## guillemets, et laissez une ligne entre les paragraphes.
define gui.about = _p("""
Ce jeu a été créé par Électropositron
Licence Creative Commons CC BY NC SA 3.0 International
""")
## Un nom court pour le jeu qui sera utilisé pour les répertoires et le nom de
## lexécutable. Il ne doit contenir que des caractères ASCII et ne doit pas
## contenir despace, de virgules ou de points-virgules.
define build.name = "Patronjeveuxuneaugmentation"
## Sons et musiques ############################################################
## Ces trois variables contrôlent, entre autres, quels mixeurs sont affichés
## au joueur par défaut. Configurer lun de ceux-ci à False (Faux) cachera le
## mixeur concerné.
define config.has_sound = True
define config.has_music = True
define config.has_voice = True
## Pour autoriser le joueur à réaliser un test de volume, décommenter la ligne
## ci-dessous et utilisez-la pour configurer un son dexemple.
# define config.sample_sound = "sample-sound.ogg"
# define config.sample_voice = "sample-voice.ogg"
## Décommentez la ligne suivante pour configurer un fichier audio qui sera
## diffusé quand le joueur sera sur le menu principal. Ce son se poursuivra dans
## le jeu, jusquà ce qu'il soit stoppé ou quun autre fichier soit joué.
# define config.main_menu_music = "main-menu-theme.ogg"
## Transitions #################################################################
##
## Ces variables configurent les transitions qui sont utilisées quand certains
## événements surviennent. Chaque variable peuvent être configurée pour une
## transition. La valeur None indique quaucune transition ne doit être
## utilisée.
## À lentrée ou à la sortie du menu du jeu.
define config.enter_transition = dissolve
define config.exit_transition = dissolve
## Entre les écrans du menu du jeu.
define config.intra_transition = dissolve
## La transition qui sera utilisée après le chargement dune partie.
define config.after_load_transition = None
## La transition qui sera utilisé après la fin du jeu.
define config.end_game_transition = None
## Il ny a pas de variable pour configurer la transition en début de partie. À
## la place, utilisez un état de transition juste après laffichage de la toute
## première scène.
## Gestion des fenêtres ########################################################
##
## Cela contrôle laffichage de la fenêtre de dialogue. Si « show », elle est
## toujours affichée. Si « hide », elle ne saffiche que lorsque du dialogue est
## présent. Si « auto », La fenêtre est cachée avant chaque changement de scène
## et réapparait une fois le dialogue affiché.
##
## Après le début de la partie, cela peut-être changé avec les instructions
## « window show », « window hide » et « window auto ».
define config.window = "auto"
## Transitions utilisées pour afficher ou cacher la fenêtre de dialogue
define config.window_show_transition = Dissolve(.2)
define config.window_hide_transition = Dissolve(.2)
## Préférences par défaut ######################################################
## Contrôle la vitesse du texte. La valeur par défaut, 0, est infinie. Toute
## autre valeur est le nombre de caractères tapés par seconde.
default preferences.text_cps = 0
## Le délai davancée automatique. Des nombres importants entraînent une longue
## attente. Des valeurs réputées correctes sont comprises dans une plage allant
## de 0 à 30.
default preferences.afm_time = 15
## Répertoire de sauvegarde ####################################################
##
## Ces valeurs, dépendant de la plateforme, déterminent lemplacement où RenPy
## stockera les fichiers de sauvegarde. Les fichiers de sauvegardes seront
## stockés dans :
##
## Windows : %APPDATA\RenPy\<config.save_directory>
##
## Macintosh : $HOME/Library/RenPy/<config.save_directory>
##
## Linux : $HOME/.renpy/<config.save_directory>
##
## Cela ne devrait généralement pas changer. Si vous le faîtes, choisissez
## toujours une chaîne de caractères littéraux, pas une expression.
define config.save_directory = "Patronjeveuxuneaugmentation-1702537360"
## Icône #######################################################################
##
## L'icone affichée dans la barre des tâches ou sur le dock.
define config.window_icon = "gui/window_icon.png"
## Configuration de la compilation #############################################
##
## Cette section paramètre la façon dont RenPy transforme votre projet en
## fichier à distribuer.
init python:
## Les fonctions suivantes prennent en paramètres un format de fichier. Les
## formats de fichiers ne sont pas sensibles à la casse et correspondent au
## répertoire relatif au répertoire de base. Il ny a pas de / à la fin. Si
## plusieurs formats correspondent, le premier est utilisé.
##
## Dans le format :
##
## / est le séparateur de répertoire.
##
## * correspond à tous les caractères à lexception du séparateur de
## répertoire.
##
## ** correspond à tous les caractères, y compris le séparateur de
## répertoire.
##
## Par exemple, "*.txt" correspond à tous les fichiers txt dans le
## répertoire de base, "game/**.ogg" correspond à tous les fichiers ogg
## dans le répertoire game, mais aussi à tous ses répertoires. "**.psd"
## correspond à tous les fichiers psd quelque soit leur emplacement dans
## larborescence du fichier.
## Choisissez la valeur « None » pour les exclure de la distribution.
build.classify('**~', None)
build.classify('**.bak', None)
build.classify('**/.**', None)
build.classify('**/#**', None)
build.classify('**/thumbs.db', None)
## Pour archiver les fichiers, choisissez la valeur « archive ».
# build.classify('game/**.png', 'archive')
# build.classify('game/**.jpg', 'archive')
## Les fichiers correspondant au format de documentation sont dupliqués pour
## les compilation sur Mac, c'est pourquoi ils apparaissent deux fois dans
## larchive zip.
build.documentation('*.html')
build.documentation('*.txt')
## Une clé de licence Google Play est requise pour permettre les achats depuis
## l'application. Vous pourrez la trouver dans la console de développement
## Google Play, sous "Monétiser" > "Configuration de la monétisation" >
## "Licences".
# define build.google_play_key = "..."
## Le nom dutilisateur et du projet associé au projet itch.io, séparé par un
## slash.
# define build.itch_project = "renpytom/test-project"

1622
game/screens.rpy Normal file

File diff suppressed because it is too large Load diff

129
game/script.rpy Normal file
View file

@ -0,0 +1,129 @@
# Vous pouvez placer le script de votre jeu dans ce fichier.
# Définition des éléments communs aux personnages
init python:
class Personnage:
# 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.experience = None
self.anciennete = None
self.etudes = None
self.chomage = 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(["ouvrier", "employé", "cadre"])
# 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))
# 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 == "ouvrier":
self.salaire = renpy.random.randint(1400, 1700)
if self.social == "employé":
self.salaire = renpy.random.randint(1700, 2000)
if self.social == "cadre":
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)
# Déclarez sous cette ligne les images, avec l'instruction 'image'
# ex: image eileen heureuse = "eileen_heureuse.png"
# Ici sont créés les fiches personnages avec les méthodes de la classe Personnages
label fiches_personnages:
# Liste des personnages
# Protagoniste
$ m = Personnage()
$ m.etat_civil()
# Conjoint :
python:
conjoint = Personnage()
conjoint.etat_civil()
# correction des éléments de l'état civil qui dépendent des traits
# du protagoniste
if m.conjoint == 1 and m.attirance == 1:
conjoint.genre = m.genre
elif m.conjoint == 1 and m.attirance == 0:
conjoint
# Initialisation des personnages
#On revient à la suite du label start
return
# Le jeu commence ici
label start:
# Initialisation des fiches personnages
call fiches_personnages
# Structure de l'histoire
call morning_routine
call petit_dejeuner
call trajet
call matin
call midi
call apres_midi
call negociation_patron
m.c "Et voilà, c'est terminé !"