Vous n'êtes pas identifié(e). Pour pouvoir écrire ou répondre à un message, vous devez vous connecter ou vous créer un compte sur JAWA.

#1 17-09-2020 13:59:33

qc2m
Membre
Inscription : 09-03-2019

combinaison de _CHAR et _RAND ✓

Bonjour,

Je cherche à prendre une lettre au hasard dans une chaîne de caractère.

J'ai pensé faire

[_CHAR:MACHAINE:[_RAND:1:10]]

  mais ça plante.


J'utilise donc une solution avec une variable intermédiaire et ça fonctionne

variable:TEMP:[_RAND:1:10]
[_CHAR:MACHAINE:{{TEMP}}]

Quelqu'un à un idée de la raison du plantage?

Merci.

Hors ligne

#2 17-09-2020 14:21:10

qc2m
Membre
Inscription : 09-03-2019

Re : combinaison de _CHAR et _RAND ✓

Les effets avant et après la ligne [b][_CHAR:MACHAINE:[_RAND:1:10]][/b] sont exécutés mais pas cette ligne là.
Il y a le halo noir autour de la scène et il ne se passe rien
Il faut que je clique quelque part sur la scène pour débloquer le script.

Pour résumer:
- les effets avant la ligne sont exécutés
- le script bloque sur la ligne
- je clique
- les effets après la ligne sont exécutés

Dernière modification par qc2m (17-09-2020 14:21:53)

Hors ligne

#3 17-09-2020 14:33:23

Catmaya
Membre
Inscription : 14-04-2020

Re : combinaison de _CHAR et _RAND ✓

Bonjour,

Pour que [_CHAR:MACHAINE:{{TEMP}}]  prenne une lettre de MACHAINE, il faut que MACHAINE soit une variable, sinon ça va extraire le M ou le A ou le C, etc...

Ensuite, la syntaxe correcte donnée par le manuel dans l'exemple est:
variable:TRUC:[_CHAR:Salut:4]

Donc, dans votre cas, il faut écrire:
variable:TRUC:[_CHAR:{{MACHAINE}}:{{TEMP}}]

Mes essais chez moi dans ce sens ont fonctionné, j'espère qu'il en sera de même chez vous.

Hors ligne

#4 17-09-2020 14:48:39

qc2m
Membre
Inscription : 09-03-2019

Re : combinaison de _CHAR et _RAND ✓

Oups! J'ai bien mis {{MACHAINE}} dans mon script. C'est une erreur en recopiant.

Je confirme que ça fonctionne avec la variable TEMP mais pas avec [b][_CHAR:{{MACHAINE}}:[_RAND:1:10]][/b]

Hors ligne

#5 17-09-2020 15:17:36

Catmaya
Membre
Inscription : 14-04-2020

Re : combinaison de _CHAR et _RAND ✓

D'après ce que dit qc2m, oui, Marie.

qc2m, je n'avais pas compris que ce que vous retranscriviez n'était pas la totalité de votre code. Donc si vous avez utilisé la bonne syntaxe, c'est que tout simplement on ne peut pas imbriquer 2 fonctions en Jawascript, tout au moins dans ce cas. J'ai essayé en enlevant les crochets, en mettant des parenthèses, rien à faire.

Mais c'est possible en utilisant du javascript à la place de la fonction random. Après une petite recherche sur le net:
[_CHAR:{{MACHAINE}}:Math.random()* (10 - 1) + 1] fonctionne.

Je sais que (10-1) + 1 égale 10 :P mais c'était pour reprendre les valeurs de votre fourchette.

Hors ligne

#6 17-09-2020 15:24:06

Catmaya
Membre
Inscription : 14-04-2020

Re : combinaison de _CHAR et _RAND ✓

En fait, c'est même plutôt:
[_CHAR:{{MACHAINE}}:(Math.random()* (10 - 1)) + 1]  :rolleyes:

Hors ligne

#7 17-09-2020 15:27:43

qc2m
Membre
Inscription : 09-03-2019

Re : combinaison de _CHAR et _RAND ✓

Alors on arrive à la même conclusion, les deux fonctions ne peuvent pas être imbriquées (au moins dans ce cas). Peut-être dans une évolution de Jawa?
Je n'avais pas pensé à utiliser le javascript. Mais je ne sais pas si je vais opter pour cette solution parce que ça perd un peu en clarté.

En tout cas merci à touTEs les deux d'après pris un peu de temps pour vous penchez sur mon problème.

Dernière modification par qc2m (17-09-2020 15:45:17)

Hors ligne

#8 17-09-2020 15:32:13

Catmaya
Membre
Inscription : 14-04-2020

Re : combinaison de _CHAR et _RAND ✓

C'était avec plaisir. C'est bien les petites énigmes en milieu d'après-midi.

Et avec Marie, nous sommes deux passionnéEs.

Hors ligne

#9 17-09-2020 15:46:25

qc2m
Membre
Inscription : 09-03-2019

Re : combinaison de _CHAR et _RAND ✓

Alors merci à touTEs les deux ;)

Hors ligne

#10 22-09-2020 08:27:15

jawa
Admin

Re : combinaison de _CHAR et _RAND ✓

Bonjour,
En effet il n'est pas possible d'imbriquer des fonctions jawa [_XXX] les unes dans les autres.
IL faut procéder en 2 étapes /2 lignes (une première pour randomiser le n° de caractère, une seconde pour l'extraire)
Et en effet tout ce qu'on met entre [] peut être évalué comme du JS donc offre plein de possibilités en terme de dev, néanmoins si ça fonctionne bien pendant la partie, cela pourra entraîner une désynchro serveur qui n'utilise pas le même langage (persistance de la partie). En revanche sur un standalone pas de souci.

Z

#11 22-09-2020 12:31:45

qc2m
Membre
Inscription : 09-03-2019

Re : combinaison de _CHAR et _RAND ✓

Merci pour ces explications.

Hors ligne

Pied de page des forums