Forums - La Blocothèque - Compter les flags
Bonjour,
Le contexte est l’exploration d’une pièce avec divers objets à trouver.
Une fois tous les objets trouvés, le joueur peut quitter la pièce.
Je voudrais l’informer à chaque découverte d’objet le nombre d’objets restants.
Pour cela, je pense devoir utiliser countflag.
Comment l’utiliser ?
Bien cordialement et merci encore pour votre travail
Jean-pierre
Bonjour,
La fonction countFlags permet de compter le nombre de flags true
parmi un ensemble de flags données en paramètres de cette fonction. Par exemple, countFlags(objet1, objet2, objet3, objet4)
donnera la valeur 2 si le joueur a ramassé 2 objets parmi les 4 objets testés.
Je ne pense pas que ce soit la solution le plus adaptée dans votre cas.
Je vous propose plutôt d’avoir une variable nbObjetsRestants
(lire « nombre d’objets restants ») que vous initialisez à N (avec N le nombre d’objets à trouver en tout dans la pièce) au démarrage de votre scénario.
A chaque fois que le joueur trouve un objet, diminuez de 1 cette variable, en faisant nbObjetsRestants ? nbObjetsRestants - 1
dans un bloc Variables :
Vous pourrez ainsi afficher la variable nbObjectsRestants
au joueur, par exemple dans un bloc Message :
Bien cordialement,
Yannick
Merci Yannick, je teste cela rapidement
Bonjour,
Je viens de tester votre proposition et cela marche à merveille. Merci. Cela dit, j’ai un autre souci… Comment faire pour qu’un objet trouvé ne puisse plus être cliquable une fois que l’on a déjà cliqué dessus. Les autres devant bien sûr rester cliquables. Pour l’instant, si je clique plusieurs fois sur le même objet, il est comptabilisé à chaque fois.
Merci pour votre aide,
Bien cordialement,
PS : J’ai fait une zone cliquable avec tous les objets sur laquelle je reviens après chaque clic.
Bonjour,
Ravi que la solution ait fonctionné !
Pour votre nouvelle question, le plus simple est d’utiliser la « Condition de visibilité » de chacune des zones qui représentent vos objets.
Pour savoir quel objet a déjà été trouvé ou non, vous pouvez placer des blocs Flag à la suite de vos zones, de la manière suivante :
Ensuite, dans votre bloc Zones Cliquables, modifiez de la manière suivante le champ « Visible si » dans les propriété avancées de la zone. Pour avoir accès à ces options, votre bloc Zones Cliquables doit être configuré en mode « Expert » en haut à droite de la fenêtre des paramètres.
Ici, j’ai sélectionné la zone « Objet1 », dont le nom n’a rien à voir avec le flag objet1
, la zone pourrait très bien s’appeler autrement. J’ai ensuite défini le champ « Visible si » de cette zone à !objet1
. Le point d’exclamation devant objet1 est une négation de ce qui suit. !objet1
se traduit donc par « Si le flag objet1
est désactivé ».
Si on récapitule :
– Nous avons créé un flag objet1
signifiant « L’objet 1 a déjà été ramassé »
– La zone cliquable de cet objet est « Visible si » !objet1
– Donc : la zone de l’objet 1 n’est visible et cliquable que si l’objet 1 n’a pas déjà été ramassé.
En espérant avoir été suffisamment clair !
N’hésitez pas si vous avez besoin de plus de détails.
Bien cordialement,
Yannick