j'ai 2 listes, question et réponse
la liste de questions est posée aléatoirement
lorsque je clique sur le bouton pour valider
la réponse, j'obtiens l'index de la question
(normal vu mon code (!) ) mais je n'arrive pas
à retrouver la valeur de la liste Réponse
en fonction de la question posée
Il y doit bien avoir une relation entre les 2 listes
ou je suis complétement HS ??
--- script animation
global gListQuestion, gListRep, gRandQuest
if gListQuestion.count > 0 then
-- question aléatoire
gRandQuest = random(gListQuestion.count)
member("Quest_txt").text = gListQuestion[gRandQuest]
-- on supprime la question pour eviter de l'avoir 2 fois
gListQuestion.deleteAt(gRandQuest)
go to "quest"
else
member("Quest_txt").text =""
go to "fin"
end if
end
--- behavior
global gListQuestion, gListRep, gRandQuest
on mouseUp
reponse = member("reponse_txt").text
-- quelle est la reponse à la question posée
repeat with i = 1 to gListRep.count
(!) gListRep[i] = gRandQuest
-- si bonne reponse
if reponse = gListRep[i] then
-- on passe à la question suivante
QuestionSuivante
else
go the frame
end if
put gListRep[i], gListQuestion
--put reponse
end repeat
end
(!) je sais bien que l'erreur se situe là
car je retoune l'index de la liste Question et non
celle de la liste Réponse. ( dans ce k normal vu mon code )
Si la question Qu 4 ? est posée je dois retourner 12
de la liste Réponse, mais je comprend pas trop comment
faire pour pointer vers les 2 listes en même temps.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ned
Twinky a tapotylographié :
| Hello
Yo ! bien dormi ? ;o))
| | j'ai 2 listes, ..... | ... | on QuestionSuivante | | if gListQuestion.count > 0 then | -- question aléatoire | gRandQuest = random(gListQuestion.count) | member("Quest_txt").text = gListQuestion[gRandQuest] | | -- on supprime la question pour eviter de l'avoir 2 fois | gListQuestion.deleteAt(gRandQuest) | go to "quest" | else | member("Quest_txt").text ="" | go to "fin" | end if | end | | | --- behavior | global gListQuestion, gListRep, gRandQuest | | on mouseUp | reponse = member("reponse_txt").text | | -- quelle est la reponse à la question posée | repeat with i = 1 to gListRep.count | (!) gListRep[i] = gRandQuest | | -- si bonne reponse | if reponse = gListRep[i] then | -- on passe à la question suivante | QuestionSuivante | else | go the frame | end if | put gListRep[i], gListQuestion | --put reponse | | end repeat | | end | | (!) je sais bien que l'erreur se situe là | car je retoune l'index de la liste Question et non | celle de la liste Réponse. ( dans ce k normal vu mon code )
non, c'est surtout que tu te mélanges dans l'utilisation des listes apparemment. On est bien d'accord que gRandQuest est le rang dans la liste des questions de celle posée. Donc la réponse est au même rang dans la liste des réponses :
on mouseUp reponse = member("reponse_txt").text
-- quelle est la reponse à la question posée laRep = gListRep[gRandQuest] if reponse = laRep then ... end
tout simplement. :o)
-- ------------------ Ned ---------------------------------------- Bien faire et laisser braire ----------------------------------------
Twinky a tapotylographié :
| Hello
Yo ! bien dormi ? ;o))
|
| j'ai 2 listes, .....
| ...
| on QuestionSuivante
|
| if gListQuestion.count > 0 then
| -- question aléatoire
| gRandQuest = random(gListQuestion.count)
| member("Quest_txt").text = gListQuestion[gRandQuest]
|
| -- on supprime la question pour eviter de l'avoir 2 fois
| gListQuestion.deleteAt(gRandQuest)
| go to "quest"
| else
| member("Quest_txt").text =""
| go to "fin"
| end if
| end
|
|
| --- behavior
| global gListQuestion, gListRep, gRandQuest
|
| on mouseUp
| reponse = member("reponse_txt").text
|
| -- quelle est la reponse à la question posée
| repeat with i = 1 to gListRep.count
| (!) gListRep[i] = gRandQuest
|
| -- si bonne reponse
| if reponse = gListRep[i] then
| -- on passe à la question suivante
| QuestionSuivante
| else
| go the frame
| end if
| put gListRep[i], gListQuestion
| --put reponse
|
| end repeat
|
| end
|
| (!) je sais bien que l'erreur se situe là
| car je retoune l'index de la liste Question et non
| celle de la liste Réponse. ( dans ce k normal vu mon code )
non, c'est surtout que tu te mélanges dans l'utilisation des listes
apparemment.
On est bien d'accord que gRandQuest est le rang dans la liste des questions
de celle posée. Donc la réponse est au même rang dans la liste des réponses
:
on mouseUp
reponse = member("reponse_txt").text
-- quelle est la reponse à la question posée
laRep = gListRep[gRandQuest]
if reponse = laRep then
...
end
tout simplement. :o)
--
------------------
Ned
----------------------------------------
Bien faire et laisser braire
----------------------------------------
| | j'ai 2 listes, ..... | ... | on QuestionSuivante | | if gListQuestion.count > 0 then | -- question aléatoire | gRandQuest = random(gListQuestion.count) | member("Quest_txt").text = gListQuestion[gRandQuest] | | -- on supprime la question pour eviter de l'avoir 2 fois | gListQuestion.deleteAt(gRandQuest) | go to "quest" | else | member("Quest_txt").text ="" | go to "fin" | end if | end | | | --- behavior | global gListQuestion, gListRep, gRandQuest | | on mouseUp | reponse = member("reponse_txt").text | | -- quelle est la reponse à la question posée | repeat with i = 1 to gListRep.count | (!) gListRep[i] = gRandQuest | | -- si bonne reponse | if reponse = gListRep[i] then | -- on passe à la question suivante | QuestionSuivante | else | go the frame | end if | put gListRep[i], gListQuestion | --put reponse | | end repeat | | end | | (!) je sais bien que l'erreur se situe là | car je retoune l'index de la liste Question et non | celle de la liste Réponse. ( dans ce k normal vu mon code )
non, c'est surtout que tu te mélanges dans l'utilisation des listes apparemment. On est bien d'accord que gRandQuest est le rang dans la liste des questions de celle posée. Donc la réponse est au même rang dans la liste des réponses :
on mouseUp reponse = member("reponse_txt").text
-- quelle est la reponse à la question posée laRep = gListRep[gRandQuest] if reponse = laRep then ... end
tout simplement. :o)
-- ------------------ Ned ---------------------------------------- Bien faire et laisser braire ----------------------------------------
il doit me manquer un -1 du fait que je gListQuestion.deleteAt(gRandQuest) je teste pour voir ce que ça donne
--------- Twinky
Twinky
non c ok
j'avais ajouté un QuestionSuivante de trop quitté et relancé l'appli et un reste memoire c ok
ce qui est moins logique c'est que meme en réinitialisant la liste Question=["Q1","Q2","Q3","Q4","Q5"] via un bouton reset je n'ai plus qu'aléatoirement 3 ou 4 questions ou 5
ça n'a pas l'air trop grave
--------- Twinky
non c ok
j'avais ajouté un QuestionSuivante de trop
quitté et relancé l'appli et un reste memoire c ok
ce qui est moins logique c'est que meme en réinitialisant
la liste Question=["Q1","Q2","Q3","Q4","Q5"]
via un bouton reset je n'ai plus qu'aléatoirement
3 ou 4 questions ou 5
j'avais ajouté un QuestionSuivante de trop quitté et relancé l'appli et un reste memoire c ok
ce qui est moins logique c'est que meme en réinitialisant la liste Question=["Q1","Q2","Q3","Q4","Q5"] via un bouton reset je n'ai plus qu'aléatoirement 3 ou 4 questions ou 5
ça n'a pas l'air trop grave
--------- Twinky
Twinky
re
Hello
ya un léger probleme du fait que la liste question est aléatoire je ne peux avoir le résultat du bas (o)
j'ai quitté director, relancé et reinitialisé et j'ai toujours ce souci (1)
--------- Twinky
Ned
Twinky a tapotylographié :
| re | | Hello | | ya un léger probleme | du fait que la liste question est aléatoire | je ne peux avoir le résultat du bas (o) | | (o) | gListQuestion=["Q1","Q2","Q3"] | || || || | gListReponse =["R1","R2","R3"] | | | (1) | j'obtiens Q3 Rep1 aléatoirement | | gListQuestion=["Q1","Q2","Q3"] | |_____|_____ | | | | gListReponse =["R1","R2","R3"] | | j'ai quitté director, relancé et reinitialisé et | j'ai toujours ce souci (1) | | --------- | Twinky
une autre approche est de ne pas "consommer" tes listes, mais de les mélanger identiquement dès le départ, et d'incrémenter classiquement ton index ------------------------- -- movie script ------------------------- global gListQ, gListR, gIndex ------- on startmovie gListQ = ["qu 1 ?","qu 2 ?"," qu 3 ?","qu 4 ?","qu 5 ?"]
Qm =[] Rm = [] repeat while Q.count > 0 index = random(Q.count) -- on chope un index aléatoirement add Qm, Q[index] -- on rajoute la quest correspondante à la liste des quest mélangées add Rm, R[index] -- on rajoute la rép correspondante à la liste des rép mélangées Q.deleteAt (index) -- on vire la quest & la rep qu'on vient de prendre en compte R.deleteAt (index) end repeat retour = [Qm,Rm] return retour end -------- on QuestionSuivante gIndex = gIndex + 1 if gIndex < gListQ.count then member("Quest_txt").text = gListQ[gindex] else -- questionnaire fini end if end ----------------- -- comportement ----------------- on mouseUp reponse = member("reponse_txt").text if reponse = gListR[gIndex] then -- juste else -- faux end if end
hth -- ------------------ Ned ---------------------------------------- Bien faire et laisser braire ----------------------------------------
Twinky a tapotylographié :
| re
|
| Hello
|
| ya un léger probleme
| du fait que la liste question est aléatoire
| je ne peux avoir le résultat du bas (o)
|
| (o)
| gListQuestion=["Q1","Q2","Q3"]
| || || ||
| gListReponse =["R1","R2","R3"]
|
|
| (1)
| j'obtiens Q3 Rep1 aléatoirement
|
| gListQuestion=["Q1","Q2","Q3"]
| |_____|_____
| | |
| gListReponse =["R1","R2","R3"]
|
| j'ai quitté director, relancé et reinitialisé et
| j'ai toujours ce souci (1)
|
| ---------
| Twinky
une autre approche est de ne pas "consommer" tes listes, mais de les
mélanger identiquement dès le départ, et d'incrémenter classiquement ton
index
-------------------------
-- movie script
-------------------------
global gListQ, gListR, gIndex
-------
on startmovie
gListQ = ["qu 1 ?","qu 2 ?"," qu 3 ?","qu 4 ?","qu 5 ?"]
Qm =[]
Rm = []
repeat while Q.count > 0
index = random(Q.count) -- on chope un index aléatoirement
add Qm, Q[index] -- on rajoute la quest correspondante à la liste des
quest mélangées
add Rm, R[index] -- on rajoute la rép correspondante à la liste des rép
mélangées
Q.deleteAt (index) -- on vire la quest & la rep qu'on vient de prendre
en compte
R.deleteAt (index)
end repeat
retour = [Qm,Rm]
return retour
end
--------
on QuestionSuivante
gIndex = gIndex + 1
if gIndex < gListQ.count then
member("Quest_txt").text = gListQ[gindex]
else
-- questionnaire fini
end if
end
-----------------
-- comportement
-----------------
on mouseUp
reponse = member("reponse_txt").text
if reponse = gListR[gIndex] then
-- juste
else
-- faux
end if
end
hth
--
------------------
Ned
----------------------------------------
Bien faire et laisser braire
----------------------------------------
| re | | Hello | | ya un léger probleme | du fait que la liste question est aléatoire | je ne peux avoir le résultat du bas (o) | | (o) | gListQuestion=["Q1","Q2","Q3"] | || || || | gListReponse =["R1","R2","R3"] | | | (1) | j'obtiens Q3 Rep1 aléatoirement | | gListQuestion=["Q1","Q2","Q3"] | |_____|_____ | | | | gListReponse =["R1","R2","R3"] | | j'ai quitté director, relancé et reinitialisé et | j'ai toujours ce souci (1) | | --------- | Twinky
une autre approche est de ne pas "consommer" tes listes, mais de les mélanger identiquement dès le départ, et d'incrémenter classiquement ton index ------------------------- -- movie script ------------------------- global gListQ, gListR, gIndex ------- on startmovie gListQ = ["qu 1 ?","qu 2 ?"," qu 3 ?","qu 4 ?","qu 5 ?"]
Qm =[] Rm = [] repeat while Q.count > 0 index = random(Q.count) -- on chope un index aléatoirement add Qm, Q[index] -- on rajoute la quest correspondante à la liste des quest mélangées add Rm, R[index] -- on rajoute la rép correspondante à la liste des rép mélangées Q.deleteAt (index) -- on vire la quest & la rep qu'on vient de prendre en compte R.deleteAt (index) end repeat retour = [Qm,Rm] return retour end -------- on QuestionSuivante gIndex = gIndex + 1 if gIndex < gListQ.count then member("Quest_txt").text = gListQ[gindex] else -- questionnaire fini end if end ----------------- -- comportement ----------------- on mouseUp reponse = member("reponse_txt").text if reponse = gListR[gIndex] then -- juste else -- faux end if end
hth -- ------------------ Ned ---------------------------------------- Bien faire et laisser braire ----------------------------------------
Twinky
La gestion des réponses est nettement plus solide et stable que ma pseudo version random :o)
Merci pour le coup de pouce ;)
--------- Twinky
La gestion des réponses est nettement plus solide et stable
que ma pseudo version random :o)
La gestion des réponses est nettement plus solide et stable que ma pseudo version random :o)
Merci pour le coup de pouce ;)
--------- Twinky
Ned
Twinky a tapotylographié :
| La gestion des réponses est nettement plus solide et stable | que ma pseudo version random :o) | | Merci pour le coup de pouce ;) | | --------- | Twinky
de rien :o)
-- ------------------ Ned ---------------------------------------- Bien faire et laisser braire ----------------------------------------
Twinky a tapotylographié :
| La gestion des réponses est nettement plus solide et stable
| que ma pseudo version random :o)
|
| Merci pour le coup de pouce ;)
|
| ---------
| Twinky
de rien :o)
--
------------------
Ned
----------------------------------------
Bien faire et laisser braire
----------------------------------------
| La gestion des réponses est nettement plus solide et stable | que ma pseudo version random :o) | | Merci pour le coup de pouce ;) | | --------- | Twinky
de rien :o)
-- ------------------ Ned ---------------------------------------- Bien faire et laisser braire ----------------------------------------