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):
"""
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(