Membre de ClickFR, Reseau francophone Paie-Par-Click
Accueil
Accueil
- [ CSS : ] [ DHTML : ] [ HTML : ] [ JavaScript : ] [ Refs : ]
Accueil

JavaScript 1.3

  Jeu de Questions à choix multiple (QCM)

fonction de ce script  principe de ce script  le script lui-meme  demonstration du script  telechargement du script

  Fonction
Le but de ce script est de proposer au visiteur un petit jeu sous forme de QCM (questions à choix multiple), avec affichage du score et des solutions.
  Principe
On crée des variables pour les réponses aux questions, on place au fur et à mesure les réponses du joueur dans des champs de formulaires cachés et on alimente le score si les réponses données sont conformes à celles que l'on a créées plus haut.
Une fonction d'affichage du score et des bonnes réponses est disponible à la fin, pour permettre au visiteur de voir le score qu'il a atteint et ce qu'il fallait répondre.
  Le script
dans la partie <head>
<script language="JavaScript">
// on initialise le score
var score = 0;

// la liste des bonnes réponses
var r1 = 'Coincoin';
var r2 = 'canard';
var r3 = 'le meilleur du monde';

function compare(variable,question,reponse) {

// on vérifie que les solutions ne soient pas affichées...
if ( document.formulaire.solution.value != '' ) {
alert('Vous avez affiche les solutions !!');
return false;
}

// on initialise le champ caché qui dira si la question a déjà été répondue
deja = eval('document.formulaire.' + question);

// si la question a déjà été répondue...
if ( deja.value == '1' ) {
alert('Vous avez deja repondu !');
return false;
}

// sinon...
else {

// on compare la bonne réponse à ce qui a été coché
if ( reponse == variable ) {

// si les deux sont identiques
score += 5;

// et on marque que la question a déjà été répondue
deja.value = '1';
}
else {

// si la réponse ne correspond pas on ne fait que marquer la question comme déjà répondue
deja.value = '1';
}
}
}

function total() {

// affichage du score
document.formulaire.resultat.value = score;

// si le score atteint le maximum, on change le contenu des 'solutions'
if (score == '15') {
document.formulaire.solution.value += 'Effectivement les bonnes reponses etaient :\n';
}

// quelque soit le score, on affiche les solutions
document.formulaire.solution.value += '1) Quel est le prenom de Coincoin le canard : ' + r1;
document.formulaire.solution.value += '\n2) et c\'est un : ' + r2;
document.formulaire.solution.value += '\n3) Ce jeu est : ' + r3;
}
</script>

dans la partie <body>
<form name="formulaire">
Quel est le prénom de 'Coincoin le Canard' ?
<!-- nous sommes à la question 1, on comparera donc à la réponse 1 (r1) -->
<input type="radio" name="question1" OnClick="compare(r1,q1.name,'daffy');"> Daffy
<input type="radio" name="question1" OnClick="compare(r1,q1.name,'donald');"> Donald
<input type="radio" name="question1" OnClick="compare(r1,q1.name,'Coincoin');"> Coincoin
<input type="hidden" name="q1" value="">
et c'est un :
<!-- nous sommes à la question 2, on comparera donc à la réponse 2 (r2) -->
<input type="radio" name="question2" OnClick="compare(r2,q2.name,'canard');"> canard
<input type="radio" name="question2" OnClick="compare(r2,q2.name,'poulet');"> poulet
<input type="radio" name="question2" OnClick="compare(r2,q2.name,'chien');"> chien
<input type="hidden" name="q2" value="">

Ce jeu est :
<!-- nous sommes à la question 3, on comparera donc à la réponse 3 (r3) -->
<input type="radio" name="question3" OnClick="compare(r3,q3.name,'nul');"> nul
<input type="radio" name="question3" OnClick="compare(r3,q3.name,'interessant');"> intéressant
<input type="radio" name="question3" OnClick="compare(r3,q3.name,'le meilleur du monde');"> le meilleur du monde
<input type="hidden" name="q3" value="">

<input type="button" value="Score final..." onclick="total();"> <input type="text" name="resultat" size="5">
Les bonnes reponses étaient :
<textarea name="solution" cols="40" rows="6" wrap= "real"></textarea>
</form>
  Démonstration
Quel est le prénom de 'Coincoin le Canard' ?
Daffy
Donald
Coincoin

et c'est un :
canard
poulet
chien


Ce jeu est :
nul
intéressant
le meilleur du monde



Les bonnes réponses étaient :
  Téléchargement
Ce script est disponible en deux versions :
  • le script est intégré à la page où il agit,
  • le script est dans un fichier séparé de la page où il agit (fichier.js et fichier.html).

    L'intérêt d'un script dans un fichier séparé est de pouvoir le partager entre plusieurs pages html.
    Cela permet aussi de le rendre inaccessible à toute personne qui souhaiterai l'enregistrer pour une autre utilisation.
  • Script intégré :
    jeux_qcm.zip
    2 Ko
    telechargez le script telechargez le script
    Script séparé :
    jeux_qcm2.zip
    2 Ko
    Recherche
    aide sur la recherche
    hit-parade
    Votez TOP Ouaibe !

    statistiques
    aide sur les contacts aide sur la mailing-list aide sur la newsletter