 |
| Scratch Tutorial |
4 - Les tests
On souhaite réaliser un programme où l'ordinateur "pense"
à un nombre entre 1 et 4. Le joueur propose alors une valeur
entre 1 et 4. Si sa proposition correspond au nombre "pensé"
par l'ordinateur, le chat doit dire "gagné" sinon il doit dire
"perdu".
Pour cela, vous allez devoir commencer par créer 2 variables
: 'nbproposé' et 'nbMystérieux'.
Associez un slider entre 1 et 4 à la variable 'nbProposé'.
Ensuite, dans la famille d'instructions 'Contrôle',
vous allez utiliser une nouvelle instruction permettant de faire des
tests : le bloc 'si
... sinon ....' 
Le principe de cette structure conditionnelle
est de tester une condition, si cette condition est vraie, on fait
un bloc d'instructions sinon, si elle est fausse, on fait l'autre
bloc d'instructions.
Vous allez aussi devoir utiliser 2 nouveaux blocs appartenant à
la famille 'Nombres' : le
bloc permettant de tester l'égalité ou non entre 2 variables
et le bloc permettant de générer un nombre aléatoire
entre 2 valeurs
et aussi un nouveau bloc se trouvant dans la famille 'Apparence'
: le bloc 'dire Hello'.
Réalisez alors le programme suivant :
Exécutez ce programme et constatez que quand les contenus des
2 variables ('nbMystérieux'
et 'nbProposé') sont
identiques, le chat dit "gagné', sinon il dit "perdu".
Question : modifiez ce
programme pour tester si le nombre proposé est plus petit que
le nombre mystérieux, auquel cas il faudra dire "plus grand"
sinon on dira "plus petit". Question
: dites ce que fait le programme suivant :
Rebond
On souhaite écrire un programme dans lequel une balle va rebondir
indéfiniment sur des murs.
Pour cela, nous avons besoin de nouvelles instructions. Commencez
par récupérer le plateau de jeu et la balle sous la
forme d'un projet que vous allez ouvrir
à l'aide de bouton 'open'
de Scratch.
Pour commencer, l'instruction 'Contrôle
/ Répéter indéfiniment'
va permettre, comme son nom l'indique, de répéter indéfiniment
et non pas un nombre données de fois un bloc d'instructions.
Le bloc 'Mouvement / changer x par
...' va permettre d'augmenter la valeur courante de x (position
horizontale de la balle) d'une certaine valeur.
Le programme suivant déplace donc la balle vers la droite jusqu'à
ce qu'elle sorte de l'écran.
Maintenant, il s'agit de détecter la collision de la balle
avec le bord rouge. pour cela, on va utiliser une instruction conditionnelle
'Contrôle / Si' et
dans son test, on va mettre un test de couleur que l'on trouve dans
la famille 'Capteurs'. Ce
bloc va tester si une couleur, choisie à l'aide de la pipette,
se trouve au dessus d'une autre couleur .
Faites alors le programme suivant :
Lancez le programme et constatez que lorsque le bord est atteint,
le message correspondant s'affiche.
Pour finir, il s'agit d'inverser le sens de déplacement jusqu'à
heurter l'autre mur.
Pour cela, on va utiliser une nouvelle variable 'sensX'
qui aura comme valeur soit 1 soit -1 suivant que l'on souhaite se
déplacer vers la droite ou vers la gauche. Pour inverser le
sens, il suffira de multiplier la valeur du sens actuel par -1. S'il
valait 1, il va passer à -1, s'il valait -1, il va passer à
1.
Voici le programme correspondant :
Pour arrêter le programme, cliquez sur l'hexagone rouge (en
haut à droite).
Question : récupérez
ce nouveau plateau de jeu et
faites un programme où la balle se déplace en diagonale
et rebondit sur les bords rouges et verts. |
| |
|
|