De Scratch Wiki en Français


Créer un quiz

Qu'est-ce que c'est ?

Un quiz est un questionnaire permettant de tester des connaissances (cela dépend de votre genre de quiz).

Comment en faire un ?

C'est ce que nous allons voir ! Commençons d'abord par le script de base :

Quand le drapeau vert pressé  //Ceci est le début de notre script.
demander [] et attendre

Là, dans le carré blanc, on peut soit le faire sous forme de liste, soit sous forme de variable, ou soit, simplement en complétant le blanc : à toi de voir.

Avec une variable

Voyons comment nous allons faire pour demander la question sous forme de variable.

demander (question) et attendre

Il suffit simplement de mettre ce que vous voulez dans la case blanche de ce bloc :

mettre [questions v] à [Votre question]

Modèle:Caution

Avec une liste

Bon, maintenant, voyons comment faire pour demander un élément d'une liste, qu'il soit aléatoire ou non (en plus, cela permet plus ou moins de ne pas tricher). Voici ce que notre bloc donnera, après les explications :

demander (élément (1, ou 2 d'ailleurs v) de [questions v]) et attendre

Donc, comme vous l'avez remarqué, nous allons utiliser ce bloc dans les listes :

(élément (1 v) de [questions v])

Vous allez donc devoir créer au minimum 5 questions : appuyez sur + pour créer un nouvel élément de la liste ou utilisez ce bloc (mais bon, ça devient fatiguant à la longue :) )

insérer [quelque chose] en position (450000 v) de la liste [questions]

Et voilà ! C'est fini pour les listes, et pour les questions : nous allons pouvoir passer aux réponses !

Réponses

Bon, voilà les réponses : c'est ce bloc qu'on va utiliser le plus souvent :

(réponse)

Et on va en découvrir les aspects, tout comme les questions.

Opérateurs

Si vous voulez faire tout simple, et bien c'est ici ! Modèle:Warning


Pourquoi ? Et bien : si l'utilisateur va dans les scripts, il va tout de suite tout voir ; vous allez comprendre :

si <(réponse) = [Votre réponse]> alors
end

Et voilà : c'est tout bête mais ça marche.

Avec variable

si <(réponse) = (réponses)> alors
end

Voilà le script. Le seul problème est le suivant : à chaque fois que le joueur a répondu a une question, il va falloir changer la variable ; c'est à dire lui mettre autre chose à l'intérieur du rectangle blanc :

mettre [réponses v] à [Nouvelle réponse]

Avec une liste

si <(élément (1,2 ou 178168628628 v) de [réponses v]) contient (réponse)> alors
end

Et voici le script ! Après, me diriez-vous, les utilisateurs peuvent toujours faire apparaître la liste... Mais on va les en empêcher :)


Script anti-tricheurs

Voici ce qu'il faut faire :

Quand le drapeau vert pressé
répéter indéfiniment
réinitialiser le chronomètre

Et puis, 2e script :

quand [chronomètre v] > (1) 
basculer sur l'arrière-plan [#NONauxtricheurs v] // C'est à vous de créer l'arrière-plan :P
stop [tout v]

Je vous explique : si le chronomètre se réinitialise indéfiniment, et bien, il ne peut pas dépasser 0.00000000000000000000000000001 secondes : mais, je ne sais pas si vous le saviez, le chronomètre ne se réinitialise plus lorsqu'il le projet est stoppé, il continue de marcher ! Et là, une seconde après que le projet se soit arrêté, bing, c'est la surprise.

Quelques animations

Bon, les programmes pour les questions / réponses sont terminés ! Passons aux animations ! Évidemment, vu qu'on ne peut pas faire beaucoup beaucoup d'animations sur Scratch, le script ne va pas être bien long : je vais tout regrouper en 1 seul script, que vous ayez choisi l'option de réponse n°1, n°2, ou n°3. Il vous faudra cependant enlever (pour vous, ce que vous avez choisi) ce qu'il y a d'inutile (les options que vous n'avez pas prises).

Si la réponse est bonne

Note, avant de commencer :

Les sons / arrières-plans vus ici sont inventés : il faudra vous créer les vôtres (ou choisir les sons) et tout renommer avec VOS noms d'arrières plans, de sons... etc
 Les sons / arrières-plans vus ici sont inventés : il faudra vous créer les vôtres (ou choisir les sons) et tout renommer avec VOS noms d'arrières plans, de sons... etc :
{{{4}}}
si <<(élément (1 ou 2 ou 354754687648 v) de [list v] :: list) contient (réponse) ?> ou <<(réponse) = ["Réponse"]> ou <(réponse) = (Réponses)>>> alors
end

Tuto en cours d'écriture

Ma15fo43 (Wiki) 20px (discussion / ma15fo43 (Scratch)) 10 septembre 2017 à 19:06 (CET)