 |

Jeu de Questions à choix multiple (QCM) |
|

|
 |
|
 |
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. |
 |
 |
 |
|
 |
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. |
 |
 |
 |
|
 |
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>
|
|
 |
 |
 |
 |
|
 |
 |
 |
|
 |
|