From e66a63513a8e232510a0d136e75195aad0f01e4c Mon Sep 17 00:00:00 2001 From: CoCo_Sol Date: Fri, 3 Nov 2023 14:01:02 +0100 Subject: [PATCH] ajout des commentaire --- src/scenes/story/directory_search.py | 49 ++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/src/scenes/story/directory_search.py b/src/scenes/story/directory_search.py index 2141bfb..cdc2d38 100644 --- a/src/scenes/story/directory_search.py +++ b/src/scenes/story/directory_search.py @@ -177,26 +177,36 @@ def __initialize(world: World): def __game_loop(world: World): """ - La boucle principale de la scene. + La boucle principale de la scène """ - yield wait(5.0) - for _ in range(5): - __spawn_search_alert(world, 5) + yield wait(5.0) # On attend 5 secondes le temps de mettre le joueur dans le jeu + for _ in range(5): # On fait 5 dossiers (niveau facile) + __spawn_search_alert(world, 5) # On fait 5 alertes de recherche yield wait(5.0) - __spawn_search_directory(world) - __delete_search_alert(world) + __spawn_search_directory( + world + ) # On fait apparaître le dossier en cours de recherche + __delete_search_alert(world) # On supprime les alertes yield wait(5.0) - __delete_search_directory(world) + __delete_search_directory(world) # On supprime le dossier en cours de recherche yield wait(1.0) def __delete_search_directory(world: World): - for entity in world.query(Directory, SearchingDirectory): + """ + Supprime le dossier en cours de recherche + """ + for entity in world.query( + Directory, SearchingDirectory + ): # Pour tous les dossiers recherchés et les remet à leur état de base del entity[SearchingDirectory] del entity[Animation] def __spawn_search_directory(world: World): + """ + Fait apparaître le dossier en cours de recherche + """ for search_alert in world.query( SearchedDirectoryAlert, SearchedDirectoryAlertPosition ): @@ -204,25 +214,34 @@ def __spawn_search_directory(world: World): if ( entity[DirectoryPosition] == search_alert[SearchedDirectoryAlertPosition] - ): - if DefenderDirectory in entity: + ): # Si le dossier va être recherché + if DefenderDirectory in entity: # Si le dossier est un défenseur + # On joue une animation d'échec entity.set( SearchingDirectory(), Animation("search_directory_failed", callback=__game_over), ) break + # On joue l'animation de recherche entity.set(SearchingDirectory(), Animation("search_directory")) break def __game_over(world: World, _entity: Entity): - world[CurrentScene] = SCENE + """ + Fonction lancée quand on perd le jeu + """ + world[CurrentScene] = SCENE # On relance le jeu def __delete_search_alert(world: World): + """ + Supprime les alertes de recherche + """ for search_alert in world.query( SearchedDirectoryAlert, SearchedDirectoryAlertPosition ): + # On joue l'animation de suppression search_alert[Animation] = Animation( "search_alert/despawn", callback=lambda _, entity: entity.destroy() ) @@ -230,12 +249,16 @@ def __delete_search_alert(world: World): def __spawn_search_alert(world: World, nb_alerts: int): """ - Spawn une alerte de recherche. + Spawn une alerte de recherche """ entities = world.query(Directory, DirectoryPosition, without=[BlockedDirectory]) - for entity in random.sample(list(entities), nb_alerts): + for entity in random.sample( + list(entities), nb_alerts + ): # On tire aléatoirement des dossiers + # On crée l'alerte position = entity[DirectoryPosition] + # On crée l'entité de l'alerte world.new_entity().set( Animation("search_alert/spawn"), Sprite(