De Scratch Wiki en Français
Créer un quiz de mathématiques
Vous aimez les quizs ? Vous aimez les mathématiques ? Voilà un tutoriel pour regrouper les deux ! Vous allez pouvoir créer votre propre quiz !
Principe
Dans le projet que nous nous apprêtons à créer, nous allons faire parler un lutin afin qu'il nous pose des petites opérations. Si on a juste, on gagne un point ; sinon, on perd un point. Il existe deux méthodes pour cela.
Scripts
Méthode simple
Pour que le lutin pose à chaque fois le calcul 2 + 2, voici le script :
mettre [points v] à [0] // le joueur commence avec 0 points demander [2 + 2] et attendre // voici le bloc qui permettra au lutin de poser sa question si <(réponse) = [4]> alors // si le joueur répond "4", alors ... ajouter (1) à [points v]::variables // le lutin lui rajoute 1 point sinon // si le joueur ne répond pas "4", alors ... ajouter (-1) à [points v]::variables // le lutin lui retire 1 point end
Et pour rajouter des calculs, il suffit de copier le script :
mettre [points v] à [0] demander [2 + 2] et attendre si <(réponse) = [4]> alors ajouter (1) à [points v]::variables sinon ajouter (-1) à [points v]::variables end demander [3 - 1] et attendre si <(réponse) = [2]> alors ajouter (1) à [points v]::variables sinon ajouter (-1) à [points v]::variables fin demander [9 x 5] et attendre si <(réponse) = [45]> alors ajouter (1) à [points v]::variables sinon ajouter (-1) à [points v]::variables end
Bon, vous l'aurez compris, ce script peut durer très longtemps. Alors vous pouvez essayer une seconde méthode, plus complexe mais plus utile.
Méthode "variables"
Vous pouvez utiliser des variables pour faire vos calculs ! Pour cela, il faut utiliser deux variables :
(nombre1) (nombre2)
Ces deux variables stockeront des nombres au hasard, puis le lutin posera le calcul (la somme de ces deux nombres, par exemple).
mettre [points v] à [0] // le joueur commence avec 0 points répéter indéfiniment // ce bloc permettra de faire indéfiniment un nombre de questions mettre [nombre1 v] à (nombre aléatoire entre (1) et (10)) // "nombre1" est un nombre tiré au hasard entre 1 et 10 mettre [nombre2 v] à (nombre aléatoire entre (1) et (10)) // "nombre2" est un nombre tiré au hasard entre 1 et 10 demander (regrouper (nombre1) et (regrouper [ + ] et (nombre2))) et attendre // "regroupe" sert à regrouper plusieurs valeurs si <(réponse) = ((nombre1) + (nombre2))> alors // si la réponse du joueur est bien la somme de "nombre1" et "nombre2", alors ... ajouter (1) à [points v]::variables // le joueur gagne 1 point sinon // si la réponse du joueur n'est pas égale à la somme de "nombre1" et "nombre2", alors ... ajouter (-1) à [points v]::variables // le joueur perd un point fin fin
(regrouper (nombre1) et (regrouper [ + ] et (nombre2))) // ce bloc donne une chaîne de caractères ((nombre1) + (nombre2)) // ce bloc donne un nombre