Test mathématique

Bonsoir à tous (toutes) !

Plus qu’une aide sur le fonctionnement de GD, je cherche une solution pour un test logique :

J’ai 8 objets ayant chacun une variable propre définie par un Random(3) .
Lors du lancement de la scène, je test les variables pour contrôler si un groupe de 3 même variable est présent. Si oui, je recommence mon Random :

[code]Variable D1 = Variable D2
Variable D2 = Variable D3
===>
Faire = Random(3) à la variable D1
Faire = Random(3) à la variable D2
Faire = Random(3) à la variable D3

D2 = D3
D3 = D4
===>
Faire Random(3) à D2…D3…D4…

(…)[/code]

L’étape suivante me bloque :
Comment tester les groupes D1+D2+D3 et D2+D3+D4 et (…) et D6+D7+D8 intègrent tous une valeur différente afin d’y attribuer une action qui déclenchera la possibilité de jouer sur la scène.

Imaginez un test logique d’installation d’une ligne de JEWEL avec aucun groupe de 3 cubes similaires.

J’espère avoir été clair dans ma demande :blush:

Merci d’avance au(x) codeur(s) chevronné(s) qui possède ce sésame.

PS : Déjà 6 jours de plaisirs sur GD ! Bravo à son/ces créateur(s) !!!

Bonjour,

Si j’ai bien compris ton problème tu souhaite faire une condition qui teste si D1, D2 et D3 ont tous une valeur différente. De même pour les autres groupes (D2+D3+D4 et (…) et D6+D7+D8)

En suivant la logique de ton code je te propose ceci :

[code]Variable D1 != Variable D2
Variable D2 != Variable D3
Variable D1 != Variable D3
===>
Faire …

D2 != D3
D3 != D4
D2 != D4
===>
Faire …

(…)[/code]

J’espère avoir répondu à tes attentes

Edit : Merci pour ta réponse livekontesk.

Non, le test ne fonctionne pas, et le déclenchement du jeu ne se fait pas.

Au lancement j’effectue un random sur toutes mes variables D1 → D8 puis je met a 0 le chrono “chrnt”

Je teste dans un premier temps l’existence de groupe similaires :

Ensuite je désigne une variable définissant que le groupe est ok :

Enfin je test mes variable D123 D234 D345 D456 D567 et D678 et je déclenche le jeu et j’efface le chrono “chrnt”

Je ne sais pas à quel niveau mon code est mauvais. Un coup de main ? Une autre méthode de contrôle à proposer ?

Attention tu remet le chrono à 0 avant de mettre 1 dans la variable D456. Ca peut poser problème peut-être.

Pour bien identifier où ce trouve le problème utilise le débugger de GD et regarde les valeurs que prennent tes variables.
Tient moi au courant car pour l’instant je ne vois pas pourquoi le test ne passe pas.

Ça ne pose pas de problème, toutes les actions de l’événement sont exécutées dès que les conditions sont réunies.

Autant pour moi, merci de l’info :slight_smile:

Après quelques recherches pour découvrir où se cache le mode débugger dans GD, il semblerait que je n’y ai pas accès :

Peut être parce que je suis en mode “plateforme web” ?

Oui, il n’y a pas de debugger pour les jeux HTML5, tu peux toujours faire de ton jeu un jeu natif (en allant dans “Extension” puis en faisant un clic-droit sur “Plateforme native”) pour tester.

J’ai finalement trouvé la source du problème :

si D1 = D2 et si D2 = D3     ---> J'effectue un Random

J’autre action est à réaliser si la première condition est fausse.

Donc :

( si D1 != D2 et si D2 != D3 ) ou ( si D1 != D2 et si D2 = D3 ) ou ( si D1 = D2 et si D2 != D3 )

Je n’ai pas vu de fonction “ou”, les deux solutions que j’ai en tête sont :

1 - Je code chaque situation ligne par ligne.

2 - Je code chaque situation en sous événements :

D1 = D2 ----D2 = D3 ---> action 1 ----D2 != D3 ---> action 2 D1 != D2 ----D2 = D3 ---> action 2 ----D2 != D3 ---> action 2

Dans ce dernier cas, je multiplie les lignes de codes pour effectuer une même action. Existe-t-il une fonction pour optimiser tout ça ?

Conditions ==> Avancé ==> Ou .

Il existe bien une fonction “Ou” :wink:

Merci de l’info :blush: