ajout des commentaire

This commit is contained in:
CoCo_Sol 2023-11-03 14:01:02 +01:00
parent e72ca889d7
commit e66a63513a

View file

@ -177,26 +177,36 @@ def __initialize(world: World):
def __game_loop(world: World): def __game_loop(world: World):
""" """
La boucle principale de la scene. La boucle principale de la scène
""" """
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) yield wait(5.0)
for _ in range(5): __spawn_search_directory(
__spawn_search_alert(world, 5) world
) # On fait apparaître le dossier en cours de recherche
__delete_search_alert(world) # On supprime les alertes
yield wait(5.0) yield wait(5.0)
__spawn_search_directory(world) __delete_search_directory(world) # On supprime le dossier en cours de recherche
__delete_search_alert(world)
yield wait(5.0)
__delete_search_directory(world)
yield wait(1.0) yield wait(1.0)
def __delete_search_directory(world: World): 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[SearchingDirectory]
del entity[Animation] del entity[Animation]
def __spawn_search_directory(world: World): def __spawn_search_directory(world: World):
"""
Fait apparaître le dossier en cours de recherche
"""
for search_alert in world.query( for search_alert in world.query(
SearchedDirectoryAlert, SearchedDirectoryAlertPosition SearchedDirectoryAlert, SearchedDirectoryAlertPosition
): ):
@ -204,25 +214,34 @@ def __spawn_search_directory(world: World):
if ( if (
entity[DirectoryPosition] entity[DirectoryPosition]
== search_alert[SearchedDirectoryAlertPosition] == search_alert[SearchedDirectoryAlertPosition]
): ): # Si le dossier va être recherché
if DefenderDirectory in entity: if DefenderDirectory in entity: # Si le dossier est un défenseur
# On joue une animation d'échec
entity.set( entity.set(
SearchingDirectory(), SearchingDirectory(),
Animation("search_directory_failed", callback=__game_over), Animation("search_directory_failed", callback=__game_over),
) )
break break
# On joue l'animation de recherche
entity.set(SearchingDirectory(), Animation("search_directory")) entity.set(SearchingDirectory(), Animation("search_directory"))
break break
def __game_over(world: World, _entity: Entity): 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): def __delete_search_alert(world: World):
"""
Supprime les alertes de recherche
"""
for search_alert in world.query( for search_alert in world.query(
SearchedDirectoryAlert, SearchedDirectoryAlertPosition SearchedDirectoryAlert, SearchedDirectoryAlertPosition
): ):
# On joue l'animation de suppression
search_alert[Animation] = Animation( search_alert[Animation] = Animation(
"search_alert/despawn", callback=lambda _, entity: entity.destroy() "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): 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]) 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] position = entity[DirectoryPosition]
# On crée l'entité de l'alerte
world.new_entity().set( world.new_entity().set(
Animation("search_alert/spawn"), Animation("search_alert/spawn"),
Sprite( Sprite(