aide pour un jeu du Compte est bon

Bonjour… Me revoilou avec un petit problème au niveau d’une action “répéter”. voici ce que j’ai fait :

Repeter 6 fois
condition : le chronomètre “attente” est supérieur à 2 secondes
actions : créer l’objet plaque
faire =Random(13)+1 à l’animation de l’objet plaque
remettre à zéro le chronomètre “attente”

L’idée est donc qu’il affiche les 6 plaques l’une après l’autre, en attendant 2 secondes entre chacune. Seulement voilà, ça marche pas, il ne m’affiche que la première.
Pourtant, quand je supprime les actions/conditions liées au chronomètre, ça m’affiche bien les 6 plaques (mais il le fait cash, et je les voudrais l’une après l’autre)
Est-ce que quelqu’un verrait comment faire ?
Merci d’avance !

L’evenement Répéter répète immediatement son contenu, il n’attends pas que les conditions soient valides. Dans ton cas, il fait un tour : la condition du chrono est valide, il ajoute donc la plaque. Puis il refait un autre tour : la condition du chrono est invalide, ben, il execute donc pas les actioon. il en fera de même pour les 4 autres répétitions.

Ok, je vois le problème.

J’ai essayé de faire ceci en sous-évènement normal :

Conditions :
Le chronomètre “attente” est supérieur à 2 secondes
La variable repet est < à 6

Actions :
créer l’objet plaque
faire =Random(13)+1 à l’animation de l’objet plaque
faire +1 à la variable repet
remettre à zéro le chronomètre “attente”

Mais ça ne marche toujours pas, il continue à ne m’afficher qu’une seule plaque
précisions : la variable repet est une variable de la scène que j’initialise à 0, l’évènement dont dépend ce sous-évènement concerne le clic sur un bouton.

Est-ce que quelqu’un aurait une idée pour résoudre ce petit problème ?

T’as pas besoin de la variable repet. La condition “Nombre d’objets Plaque < 6” dans Objets donnera le même résultat.
Quelles sont les coordonnées de la nouvelle plaque créée ?
Si elles se superposent, elles se cachent mutuellement.

Ce que je ferais : un objet plaque, avec une animation contenant des images vides durant 2 secondes. On crée une plaque, et l’anim tourne en boucle 6 fois.

bon… je l’avais pas précisé… mais j’ai bien évidemment fait en sorte que les plaques ne se superposent pas, en fait, la variable repet sert déjà à ce niveau là puisque les coord des plaques sont x=8+88*variable(repet), y=375
mais j’essaierai avec la condition “Nombre d’objets plaque”

Et avec ton idée sur l’animation de l’objet plaque, je crains que ça ne produise 6 plaques cachées 2 secondes, visibles, cachées 2 sec… ce qui n’est pas ce que je demande, puisque je veux qu’une plaque s’affiche, puis une autre, etc…
En plus, mon objet plaque a déjà 14 animations correspondants aux différentes plaques choisies aléatoirement (si vous voulez vous faire une idée, je cherche a créer un jeu du “Compte est bon” comme dans l’emission “Des chiffres et des lettres”, c’est pour ça que j’aimerais si possible les afficher l’une après l’autre, histoire que comme dans le jeu, le joueur ai le temps de se faire une idée de comment utiliser les nombres proposés avant de voir le résultat à atteindre et de lancer le chrono)

Enfin je te remercie quand même de ta participation mtarzaim (et Victor aussi tant qu’à faire ^^)… et au pire, vous cassez pas trop la tête… si vraiment je trouve pas moyen, je ferais en les affichant toutes d’un coup (vu que ça, j’y arrive)

Tu as un type d’évènement “Evènement chronométré” qui s’enclenche tout seul au bout de x secondes.

Sinon, tu crées ton propre timer et tu laisses tomber la répétition :

Au lancement de la scène, mettre le chrono en pause

Si clic gauche sur “Commencer à jouer”, enlever la pause du chrono

Si chrono > 1 et nombre d’objets chiffre1 ==0, créer les chiffres de 1 à 6 et mettre leur animation en pause

Si chrono > 2 et chiffre1.animation ==0 et chiffre1.animation en pause, on gère l’anim du chiffre no 1
Si chrono > 6 et chiffre2.animation ==0 et chiffre2.animation en pause, on gère l’anim du chiffre no 2
Si chrono > 10 et chiffre3.animation ==0 et chiffre3.animation en pause, on gère l’anim du chiffre no 3

Si chrono > 20, remettre le chrono à zéro et mettre le chrono en pause

C’est pas élégant niveau progra, mais c’est efficace.

Je vais essayer.

J’avais découvert l’évènement retardé avant de voir ta réponse, et j’ai tenté de le passer en sous évènement de l’évènement répété, ça marche un peu mieux, dans le sens où ça m’affiche bien les 6 nombres, mais ça me le fait quand même d’un seul coup > <

merci encore !

EDIT : Alors j’ai finalement trouvé une solution, tout simplement en ne mettant pas cet évènement en sous-évènement de celui où l’on clique. L’évènement où on clique fait passer à 1 la variable repet, et pour l’évènement qui nous intéresse, donc en évènement normal :
Conditions :
le chronomètre attente est supérieur à 2 secondes
la variable repet est > à 0
la variable repet est < à 7

Actions :
<plusieurs actions qui créent la plaque et attribuent une valeur a chacune de ses variables à l’aide d’un tableau à 2 dimension, défini précédemment>
faire +1 à la variable repet

Et ça marche donc comme un charme ^^

J’ai maintenant un autre problème pour ce jeu, au niveau de l’affichage des calculs cette fois.

J’ai créé un objet texte pour afficher le 1er nombre sélectionné, 1 pour l’opérateur, et 1 pour le 2è nombre sélectionné

Les évènements pour afficher les différents objets nombre1, operateur et nombre 2 sur la ligne adéquate fonctionnent bien, mais c’est le contenu de l’affichage qui pèche :

Dans un premier temps j’avais directement fait dans l’évènement concernant le clic sur une plaque :
Faire = plaque.VariableString(valeur) au texte de nombre1(ou nombre2 selon le cas)
et pour chaque opérateur
Faire = “+” (ou “-”, ou “x”, ou “/”) au texte de operateur

Mais lorsque je passais à la 2è ligne, les éléments de la 1ère ligne changeaient leur affichage pour afficher la même chose que la 2è ligne (en gros, tous les objets nombre1 affichaient le même texte, pareil pour tous les objets operateur et tous les objets nombre2)

Je me suis dit qu’en mettant une variable d’objet, et en affichant le contenu de cette variable, ca changerait quelque chose, j’ai donc mis dans les évènements de “clic”
faire = à la variable valeur (ou signe) de l’objet nombre1 (ou nombre2 ou opérateur)
et dans l’évènement “pas de condition”
faire =nombre1.VariableString(valeur) au texte de l’objet nombre1 (et pareillement pour nombre2)
et 4 autres évènements pour l’operateur :
la variable signe de operateur est = à 1 | Faire ="+" au texte de operateur (et selon la valeur de la variable, il affiche le bon opérateur)

Seulement le résultat est encore pire… pour les opérateurs, j’ai toujours le cas de tous les objets opérateur qui affichent le dernier sélectionné. Pour ce qui est des nombres, nombre1 affiche sytématiquement le dernier nombre sélectionné (sur toutes les lignes) et nombre2 affiche toujours 0

Là j’avoue que je comprends plus trop.
Est-ce que quelqu’un a une idée pour faire fonctionner ça correctement ? (si possible sans créer 10 objets nombre1, 2, 3…, 10 et 5 objets opérateur1, 2…,5 dans la liste des objets)
Merci d’avance !

PS : si mes explications sont pas claires, je ferais des captures d’écran pour vous montrer les évènements, mais là je voulais pas m’enquiquiner.

Bonjour alors me revoici avec un autre problème : J’ai une évènement qui bien que les condition soient remplies, ne veux pas s’effectuer. Voici un visuel de l’évènement :

Comme vous le voyez, j’ai recours à une fontion modulo dont j’ai demandé dans le 1er évènement à afficher le résultat pour être sûr que ça fonctionnait bien, et c’est OK, ça marche impec’.
Celui qui ne fonctionne pas, c’est le 1er sous-évènement. Même lorsque les conditions sont remplies, rien ne se passe.
Le 2è sous évènement, par contre, s’effectue très bien quand il le faut.

Donc est-ce que quelqu’un voit quelque chose qui m’aurait échappé ? Ou penserait à une raison qui ferait que ça marche pas (je vérifierai tout ce qu’on me proposera de vérifier) ?

Merci d’avance

Chek this out

http://www.forum.compilgames.net/viewtopic.php?f=18&t=3377

Apparemment le signe égal (=) ne fonctionne pas dans la condition f(x)
pouvez utiliser != et d’inverser la condition

Pardonnez mon français

Thank you Lizard, it works great !

Merci Lizard, ça marche impec'. (oui bon, Ok, c'est pas une traduction mot à mot ^^ mais l'esprit y est)