abracadabraPDF › Forums › PDF – Général › Affichage aléatoire › Répondre à : Affichage aléatoire

bonjour,
Voici ce que je te propose.
On met les questions et réponses dans un champ liste ce qui permet de n’avoir qu’un champ au lieu de 2. On pourrait également définir une table dans le script avec les questions et les réponses.
Donc, pour répondre aux 2 points indiqués en rouge :
// Script de calcul "Button1"
var f=this.getField("entreesListe");
var nb=f.numItems;
if (reponses==null) {
var reponses=[];
for (var i=0; i<nb; i++) reponses.push([f.getItemAt(i,true),0]);
}
var moyenne=0;
for (var i=0; i<nb; i++) moyenne+=reponses[1];
moyenne/=reponses.length;
var aleatoire=Math.floor(Math.random()*nb);
while (reponses[aleatoire][1]>moyenne) var aleatoire=Math.floor(Math.random()*nb);
var laQuestion=f.getItemAt(aleatoire,false);
var laReponse=f.getItemAt(aleatoire,true);
this.getField("Reponse").setItems(reponses);
this.getField("Question").value=laQuestion;
// Script de touches personnalisé "Reponse"
if (!event.willCommit) {
if (event.change!=laReponse) app.alert("Erreur !!!\rLa bonne réponse est : "+laReponse,3);
else {
reponses[aleatoire][1]=Number(event.changeEx)+1;
this.getField("Reponse").setItems(reponses);
}
}
@+
😎
-
Cette réponse a été modifiée le il y a 1 année et 1 mois par
bebarth.