Référence des Blocs
Référence Complète des Blocs Scratch 3.0
Section intitulée « Référence Complète des Blocs Scratch 3.0 »Ce guide de référence présente tous les blocs disponibles dans Scratch 3.0, organisés par catégorie avec leur utilisation, syntaxe et exemples pratiques.
Comment Utiliser Cette Référence
Section intitulée « Comment Utiliser Cette Référence »Structure des Descriptions
Section intitulée « Structure des Descriptions »Chaque bloc est présenté avec :
- Nom : Nom officiel du bloc
- Catégorie : Groupe de blocs (Mouvement, Apparence, etc.)
- Type : Forme du bloc (chapeau, pile, reporter, booléen)
- Fonction : Ce que fait le bloc
- Paramètres : Valeurs que vous pouvez modifier
- Exemple : Utilisation pratique
Types de Blocs
Section intitulée « Types de Blocs »- 🎩 Chapeaux : Démarrent les scripts
- 📦 Pile : Actions à exécuter
- 🔄 C-blocs : Contiennent d’autres blocs
- 📊 Reporters : Retournent des valeurs
- ✅ Booléens : Retournent vrai/faux
Mouvement 🏃♂️
Section intitulée « Mouvement 🏃♂️ »Blocs de Déplacement
Section intitulée « Blocs de Déplacement »avancer de (10) pas
Section intitulée « avancer de (10) pas »- Type : 📦 Pile
- Fonction : Déplace le sprite vers l’avant
- Paramètre : Nombre de pas (peut être négatif)
- Exemple :
avancer de (50) pas // Avance de 50 pixelsavancer de (-20) pas // Recule de 20 pixels
tourner ↻ de (15) degrés
Section intitulée « tourner ↻ de (15) degrés »- Type : 📦 Pile
- Fonction : Fait tourner le sprite dans le sens horaire
- Paramètre : Angle en degrés
- Exemple :
tourner ↻ de (90) degrés // Quart de tour à droitetourner ↻ de (45) degrés // Huitième de tour
tourner ↺ de (15) degrés
Section intitulée « tourner ↺ de (15) degrés »- Type : 📦 Pile
- Fonction : Fait tourner le sprite dans le sens antihoraire
- Paramètre : Angle en degrés
- Exemple :
tourner ↺ de (90) degrés // Quart de tour à gauche
Blocs de Position
Section intitulée « Blocs de Position »aller à x: (0) y: (0)
Section intitulée « aller à x: (0) y: (0) »- Type : 📦 Pile
- Fonction : Déplace le sprite à une position précise
- Paramètres : Coordonnées x et y
- Exemple :
aller à x: (100) y: (50) // Coin supérieur droitaller à x: (0) y: (0) // Centre de la scènealler à x: (-100) y: (-50) // Coin inférieur gauche
aller à (pointeur de souris)
Section intitulée « aller à (pointeur de souris) »- Type : 📦 Pile
- Fonction : Déplace le sprite vers une cible
- Options : pointeur de souris, position aléatoire, autre sprite
- Exemple :
aller à (pointeur de souris) // Suit la sourisaller à (Sprite2) // Va vers un autre spritealler à (position aléatoire) // Position aléatoire
glisser en (1) secondes à x: (0) y: (0)
Section intitulée « glisser en (1) secondes à x: (0) y: (0) »- Type : 📦 Pile
- Fonction : Déplacement fluide vers une position
- Paramètres : Durée, coordonnées de destination
- Exemple :
glisser en (2) secondes à x: (100) y: (100)// Mouvement fluide de 2 secondes
Blocs d’Orientation
Section intitulée « Blocs d’Orientation »s'orienter vers (90) degrés
Section intitulée « s'orienter vers (90) degrés »- Type : 📦 Pile
- Fonction : Oriente le sprite dans une direction
- Paramètre : Angle (0=haut, 90=droite, 180=bas, 270=gauche)
- Exemple :
s'orienter vers (0) degrés // Vers le hauts'orienter vers (90) degrés // Vers la droites'orienter vers (180) degrés // Vers le bas
s'orienter vers (pointeur de souris)
Section intitulée « s'orienter vers (pointeur de souris) »- Type : 📦 Pile
- Fonction : Oriente le sprite vers une cible
- Options : pointeur de souris, autre sprite
- Exemple :
s'orienter vers (pointeur de souris) // Suit la souriss'orienter vers (Sprite2) // Regarde un autre sprite
Blocs Reporters de Mouvement
Section intitulée « Blocs Reporters de Mouvement »abscisse x
Section intitulée « abscisse x »- Type : 📊 Reporter
- Fonction : Retourne la position horizontale
- Valeur : -240 à 240
- Exemple :
si <(abscisse x) > (200)> alors dire [Près du bord droit !]fin
ordonnée y
Section intitulée « ordonnée y »- Type : 📊 Reporter
- Fonction : Retourne la position verticale
- Valeur : -180 à 180
- Exemple :
si <(ordonnée y) < (-150)> alors aller à x: (abscisse x) y: (150)fin
direction
Section intitulée « direction »- Type : 📊 Reporter
- Fonction : Retourne l’orientation actuelle
- Valeur : -179 à 180 degrés
- Exemple :
si <(direction) = (90)> alors dire [Je regarde à droite !]fin
Apparence 🎨
Section intitulée « Apparence 🎨 »Blocs de Visibilité
Section intitulée « Blocs de Visibilité »dire [Bonjour !] pendant (2) secondes
Section intitulée « dire [Bonjour !] pendant (2) secondes »- Type : 📦 Pile
- Fonction : Affiche un message temporaire
- Paramètres : Texte, durée
- Exemple :
dire [Bienvenue !] pendant (3) secondesdire (rejoindre [Score: ] (score)) pendant (2) secondes
dire [Bonjour !]
Section intitulée « dire [Bonjour !] »- Type : 📦 Pile
- Fonction : Affiche un message permanent
- Paramètre : Texte
- Exemple :
dire [Appuyez sur ESPACE]dire [] // Efface le message
penser à [Hmm...] pendant (2) secondes
Section intitulée « penser à [Hmm...] pendant (2) secondes »- Type : 📦 Pile
- Fonction : Affiche une bulle de pensée temporaire
- Paramètres : Texte, durée
- Exemple :
penser à [Que faire maintenant ?] pendant (3) secondes
se montrer
Section intitulée « se montrer »- Type : 📦 Pile
- Fonction : Rend le sprite visible
- Exemple :
se montrer // Apparaît à l'écran
se cacher
Section intitulée « se cacher »- Type : 📦 Pile
- Fonction : Rend le sprite invisible
- Exemple :
se cacher // Disparaît de l'écran
Blocs de Costume
Section intitulée « Blocs de Costume »basculer sur le costume (costume2)
Section intitulée « basculer sur le costume (costume2) »- Type : 📦 Pile
- Fonction : Change l’apparence du sprite
- Paramètre : Nom ou numéro du costume
- Exemple :
basculer sur le costume (costume1)basculer sur le costume [marche1]basculer sur le costume (costume suivant)
costume suivant
Section intitulée « costume suivant »- Type : 📦 Pile
- Fonction : Passe au costume suivant
- Exemple :
répéter (4) fois costume suivant attendre (0.5) secondesfin// Animation simple
basculer sur l'arrière-plan (backdrop1)
Section intitulée « basculer sur l'arrière-plan (backdrop1) »- Type : 📦 Pile
- Fonction : Change l’arrière-plan de la scène
- Paramètre : Nom ou numéro de l’arrière-plan
- Exemple :
basculer sur l'arrière-plan [forêt]basculer sur l'arrière-plan suivant
Blocs d’Effets
Section intitulée « Blocs d’Effets »ajouter (25) à l'effet [couleur]
Section intitulée « ajouter (25) à l'effet [couleur] »- Type : 📦 Pile
- Fonction : Modifie un effet visuel
- Paramètres : Valeur, type d’effet
- Effets : couleur, fisheye, tourbillon, pixelliser, mosaïque, luminosité, fantôme
- Exemple :
ajouter (50) à l'effet [couleur] // Change la teinteajouter (25) à l'effet [luminosité] // Plus lumineuxajouter (50) à l'effet [fantôme] // Plus transparent
mettre l'effet [couleur] à (0)
Section intitulée « mettre l'effet [couleur] à (0) »- Type : 📦 Pile
- Fonction : Définit un effet à une valeur précise
- Paramètres : Type d’effet, valeur
- Exemple :
mettre l'effet [couleur] à (100) // Teinte spécifiquemettre l'effet [fantôme] à (50) // Semi-transparent
annuler les effets graphiques
Section intitulée « annuler les effets graphiques »- Type : 📦 Pile
- Fonction : Remet tous les effets à zéro
- Exemple :
annuler les effets graphiques // Apparence normale
Blocs de Taille
Section intitulée « Blocs de Taille »ajouter (10) à la taille
Section intitulée « ajouter (10) à la taille »- Type : 📦 Pile
- Fonction : Modifie la taille du sprite
- Paramètre : Changement de taille (peut être négatif)
- Exemple :
ajouter (20) à la taille // Plus grandajouter (-10) à la taille // Plus petit
mettre la taille à (100) %
Section intitulée « mettre la taille à (100) % »- Type : 📦 Pile
- Fonction : Définit la taille exacte
- Paramètre : Pourcentage (100% = taille normale)
- Exemple :
mettre la taille à (150) % // 1.5x plus grandmettre la taille à (50) % // Moitié de la taille
Blocs Reporters d’Apparence
Section intitulée « Blocs Reporters d’Apparence »numéro de costume
Section intitulée « numéro de costume »- Type : 📊 Reporter
- Fonction : Retourne le numéro du costume actuel
- Exemple :
si <(numéro de costume) = (3)> alors dire [Costume spécial !]fin
nom de costume
Section intitulée « nom de costume »- Type : 📊 Reporter
- Fonction : Retourne le nom du costume actuel
- Exemple :
dire (rejoindre [Costume: ] (nom de costume))
- Type : 📊 Reporter
- Fonction : Retourne la taille actuelle en pourcentage
- Exemple :
si <(taille) > (200)> alors mettre la taille à (100) %fin
Blocs de Lecture
Section intitulée « Blocs de Lecture »jouer le son (Meow) jusqu'au bout
Section intitulée « jouer le son (Meow) jusqu'au bout »- Type : 📦 Pile
- Fonction : Joue un son complètement avant de continuer
- Paramètre : Nom du son
- Exemple :
jouer le son [applaudissements] jusqu'au bout// Attend la fin du son
jouer le son (Meow)
Section intitulée « jouer le son (Meow) »- Type : 📦 Pile
- Fonction : Démarre un son sans attendre
- Paramètre : Nom du son
- Exemple :
jouer le son [bip]// Continue immédiatement
arrêter tous les sons
Section intitulée « arrêter tous les sons »- Type : 📦 Pile
- Fonction : Stoppe tous les sons en cours
- Exemple :
arrêter tous les sons // Silence total
Blocs d’Effets Sonores
Section intitulée « Blocs d’Effets Sonores »ajouter (10) à l'effet [hauteur]
Section intitulée « ajouter (10) à l'effet [hauteur] »- Type : 📦 Pile
- Fonction : Modifie un effet sonore
- Paramètres : Valeur, type d’effet
- Effets : hauteur, panoramique
- Exemple :
ajouter (50) à l'effet [hauteur] // Plus aiguajouter (-25) à l'effet [hauteur] // Plus graveajouter (100) à l'effet [panoramique] // Vers la droite
mettre l'effet [hauteur] à (100)
Section intitulée « mettre l'effet [hauteur] à (100) »- Type : 📦 Pile
- Fonction : Définit un effet sonore précis
- Paramètres : Type d’effet, valeur
- Exemple :
mettre l'effet [hauteur] à (200) // Très aigumettre l'effet [panoramique] à (-100) // Complètement à gauche
annuler les effets sonores
Section intitulée « annuler les effets sonores »- Type : 📦 Pile
- Fonction : Remet tous les effets sonores à zéro
- Exemple :
annuler les effets sonores // Son normal
Blocs de Volume
Section intitulée « Blocs de Volume »ajouter (10) au volume
Section intitulée « ajouter (10) au volume »- Type : 📦 Pile
- Fonction : Modifie le volume
- Paramètre : Changement de volume (-100 à 100)
- Exemple :
ajouter (20) au volume // Plus fortajouter (-30) au volume // Plus faible
mettre le volume à (100) %
Section intitulée « mettre le volume à (100) % »- Type : 📦 Pile
- Fonction : Définit le volume exact
- Paramètre : Pourcentage (0 à 100)
- Exemple :
mettre le volume à (50) % // Volume moyenmettre le volume à (0) % // Muet
- Type : 📊 Reporter
- Fonction : Retourne le volume actuel
- Exemple :
si <(volume) < (20)> alors dire [Le son est trop faible !]fin
Événements 🎯
Section intitulée « Événements 🎯 »Blocs Chapeaux
Section intitulée « Blocs Chapeaux »quand [drapeau vert] est cliqué
Section intitulée « quand [drapeau vert] est cliqué »- Type : 🎩 Chapeau
- Fonction : Démarre quand on clique le drapeau vert
- Utilisation : Initialisation du projet
- Exemple :
quand [drapeau vert] est cliquéaller à x: (0) y: (0)mettre [score] à (0)dire [Jeu démarré !]
quand la touche [espace] est pressée
Section intitulée « quand la touche [espace] est pressée »- Type : 🎩 Chapeau
- Fonction : Réagit aux touches du clavier
- Paramètre : Touche (espace, flèches, lettres, chiffres)
- Exemple :
quand la touche [espace] est presséejouer le son [saut]ajouter (50) à y
quand la touche [flèche droite] est presséeajouter (10) à x
quand ce sprite est cliqué
Section intitulée « quand ce sprite est cliqué »- Type : 🎩 Chapeau
- Fonction : Réagit au clic sur le sprite
- Exemple :
quand ce sprite est cliquéajouter (1) à [clics]jouer le son [pop]
quand l'arrière-plan bascule sur [backdrop1]
Section intitulée « quand l'arrière-plan bascule sur [backdrop1] »- Type : 🎩 Chapeau
- Fonction : Réagit au changement d’arrière-plan
- Paramètre : Nom de l’arrière-plan
- Exemple :
quand l'arrière-plan bascule sur [niveau2]dire [Nouveau niveau !]mettre [vitesse] à (5)
quand [volume] > (10)
Section intitulée « quand [volume] > (10) »- Type : 🎩 Chapeau
- Fonction : Réagit quand une valeur dépasse un seuil
- Paramètres : Propriété, valeur seuil
- Options : volume, minuteur
- Exemple :
quand [volume] > (50)dire [C'est bruyant !]
quand [minuteur] > (10)dire [10 secondes écoulées !]
Blocs de Messages
Section intitulée « Blocs de Messages »envoyer à tous [message1]
Section intitulée « envoyer à tous [message1] »- Type : 📦 Pile
- Fonction : Envoie un message à tous les sprites
- Paramètre : Nom du message
- Exemple :
envoyer à tous [démarrer jeu]envoyer à tous [fin de niveau]
envoyer à tous [message1] et attendre
Section intitulée « envoyer à tous [message1] et attendre »- Type : 📦 Pile
- Fonction : Envoie un message et attend les réponses
- Paramètre : Nom du message
- Exemple :
envoyer à tous [animation] et attendredire [Animation terminée !]
quand je reçois [message1]
Section intitulée « quand je reçois [message1] »- Type : 🎩 Chapeau
- Fonction : Réagit à la réception d’un message
- Paramètre : Nom du message
- Exemple :
quand je reçois [démarrer jeu]se montreraller à x: (0) y: (0)
Contrôle 🎮
Section intitulée « Contrôle 🎮 »Blocs d’Attente
Section intitulée « Blocs d’Attente »attendre (1) secondes
Section intitulée « attendre (1) secondes »- Type : 📦 Pile
- Fonction : Pause l’exécution du script
- Paramètre : Durée en secondes
- Exemple :
dire [3]attendre (1) secondesdire [2]attendre (1) secondesdire [1]attendre (1) secondesdire [GO !]
attendre jusqu'à ce que <(abscisse x) > (100)>
Section intitulée « attendre jusqu'à ce que <(abscisse x) > (100)> »- Type : 📦 Pile
- Fonction : Attend qu’une condition soit vraie
- Paramètre : Condition booléenne
- Exemple :
attendre jusqu'à ce que <je touche [Sprite2]?>dire [Contact !]
attendre jusqu'à ce que <(score) > (100)>envoyer à tous [niveau suivant]
Blocs de Répétition
Section intitulée « Blocs de Répétition »répéter (10) fois
Section intitulée « répéter (10) fois »- Type : 🔄 C-bloc
- Fonction : Répète les blocs à l’intérieur
- Paramètre : Nombre de répétitions
- Exemple :
répéter (4) fois avancer de (50) pas tourner ↻ de (90) degrésfin// Dessine un carré
répéter indéfiniment
Section intitulée « répéter indéfiniment »- Type : 🔄 C-bloc
- Fonction : Boucle infinie
- Exemple :
répéter indéfiniment si <je touche le bord?> alors rebondir si le bord est atteint fin avancer de (5) pasfin
répéter jusqu'à ce que <je touche [Sprite2]?>
Section intitulée « répéter jusqu'à ce que <je touche [Sprite2]?> »- Type : 🔄 C-bloc
- Fonction : Répète jusqu’à ce qu’une condition soit vraie
- Paramètre : Condition d’arrêt
- Exemple :
répéter jusqu'à ce que <(abscisse x) > (200)> avancer de (5) pasfin
Blocs Conditionnels
Section intitulée « Blocs Conditionnels »si <(score) > (100)> alors
Section intitulée « si <(score) > (100)> alors »- Type : 🔄 C-bloc
- Fonction : Exécute si la condition est vraie
- Paramètre : Condition booléenne
- Exemple :
si <je touche [Ennemi]?> alors ajouter (-1) à [vies] jouer le son [aïe]fin
si <(score) > (100)> alors ... sinon
Section intitulée « si <(score) > (100)> alors ... sinon »- Type : 🔄 C-bloc
- Fonction : Exécute une action ou une autre
- Paramètre : Condition booléenne
- Exemple :
si <(vies) > (0)> alors dire [Continue !]sinon dire [Game Over] arrêter [tous les scripts]fin
Blocs d’Arrêt
Section intitulée « Blocs d’Arrêt »arrêter [tous les scripts]
Section intitulée « arrêter [tous les scripts] »- Type : 📦 Pile
- Fonction : Arrête l’exécution
- Options : tous les scripts, ce script, autres scripts de ce sprite
- Exemple :
si <(vies) < (1)> alors dire [Game Over !] arrêter [tous les scripts]fin
Blocs de Clonage
Section intitulée « Blocs de Clonage »créer un clone de [moi-même]
Section intitulée « créer un clone de [moi-même] »- Type : 📦 Pile
- Fonction : Crée une copie du sprite
- Paramètre : Sprite à cloner
- Exemple :
répéter (5) fois créer un clone de [moi-même] attendre (1) secondesfin
quand je commence comme un clone
Section intitulée « quand je commence comme un clone »- Type : 🎩 Chapeau
- Fonction : Script exécuté par les clones
- Exemple :
quand je commence comme un clonealler à x: (nombre aléatoire entre (-200) et (200)) y: (150)répéter jusqu'à ce que <(ordonnée y) < (-150)> ajouter (-5) à yfinsupprimer ce clone
supprimer ce clone
Section intitulée « supprimer ce clone »- Type : 📦 Pile
- Fonction : Supprime le clone actuel
- Exemple :
si <je touche [Joueur]?> alors ajouter (10) à [score] supprimer ce clonefin
Capteurs 👁️
Section intitulée « Capteurs 👁️ »Blocs de Contact
Section intitulée « Blocs de Contact »je touche [Sprite2]?
Section intitulée « je touche [Sprite2]? »- Type : ✅ Booléen
- Fonction : Détecte le contact avec un objet
- Paramètre : Sprite, pointeur de souris, bord
- Exemple :
si <je touche [Ennemi]?> alors dire [Collision !]fin
si <je touche [pointeur de souris]?> alors ajouter (25) à l'effet [luminosité]fin
je touche la couleur [#ff0000]?
Section intitulée « je touche la couleur [#ff0000]? »- Type : ✅ Booléen
- Fonction : Détecte le contact avec une couleur
- Paramètre : Couleur (sélecteur)
- Exemple :
si <je touche la couleur [#00ff00]?> alors dire [Sur l'herbe !]fin
couleur [#ff0000] touche [#00ff00]?
Section intitulée « couleur [#ff0000] touche [#00ff00]? »- Type : ✅ Booléen
- Fonction : Détecte si deux couleurs se touchent
- Paramètres : Deux couleurs
- Exemple :
si <couleur [#ff0000] touche [#0000ff]?> alors dire [Rouge touche bleu !]fin
Blocs de Distance
Section intitulée « Blocs de Distance »distance jusqu'à [pointeur de souris]
Section intitulée « distance jusqu'à [pointeur de souris] »- Type : 📊 Reporter
- Fonction : Calcule la distance jusqu’à un objet
- Paramètre : Sprite ou pointeur de souris
- Exemple :
si <(distance jusqu'à [Joueur]) < (50)> alors dire [Très proche !]fin
si <(distance jusqu'à [pointeur de souris]) < (20)> alors basculer sur le costume [survolé]fin
Blocs de Souris et Clavier
Section intitulée « Blocs de Souris et Clavier »demander [Quel est votre nom ?] et attendre
Section intitulée « demander [Quel est votre nom ?] et attendre »- Type : 📦 Pile
- Fonction : Demande une saisie utilisateur
- Paramètre : Question à poser
- Exemple :
demander [Quel âge avez-vous ?] et attendresi <(réponse) > (18)> alors dire [Vous êtes majeur !]sinon dire [Vous êtes mineur !]fin
- Type : 📊 Reporter
- Fonction : Retourne la dernière réponse saisie
- Exemple :
demander [Votre nom ?] et attendredire (rejoindre [Bonjour ] (réponse))
touche [espace] pressée?
Section intitulée « touche [espace] pressée? »- Type : ✅ Booléen
- Fonction : Détecte si une touche est pressée
- Paramètre : Touche du clavier
- Exemple :
répéter indéfiniment si <touche [flèche droite] pressée?> alors ajouter (5) à x fin si <touche [flèche gauche] pressée?> alors ajouter (-5) à x finfin
souris pressée?
Section intitulée « souris pressée? »- Type : ✅ Booléen
- Fonction : Détecte si le bouton de souris est pressé
- Exemple :
répéter indéfiniment si <souris pressée?> alors aller à (pointeur de souris) finfin
abscisse de la souris
Section intitulée « abscisse de la souris »- Type : 📊 Reporter
- Fonction : Position horizontale de la souris
- Valeur : -240 à 240
- Exemple :
répéter indéfiniment mettre x à (abscisse de la souris)fin
ordonnée de la souris
Section intitulée « ordonnée de la souris »- Type : 📊 Reporter
- Fonction : Position verticale de la souris
- Valeur : -180 à 180
- Exemple :
répéter indéfiniment mettre y à (ordonnée de la souris)fin
Blocs de Propriétés
Section intitulée « Blocs de Propriétés »- Type : 📊 Reporter
- Fonction : Niveau sonore détecté par le microphone
- Valeur : 0 à 100
- Exemple :
répéter indéfiniment si <(volume) > (50)> alors dire [C'est bruyant !] attendre (2) secondes finfin
minuteur
Section intitulée « minuteur »- Type : 📊 Reporter
- Fonction : Temps écoulé depuis le dernier reset
- Valeur : Secondes avec décimales
- Exemple :
quand [drapeau vert] est cliquéremettre le minuteur à zérorépéter jusqu'à ce que <(minuteur) > (60)> // Jeu d'une minutefindire [Temps écoulé !]
remettre le minuteur à zéro
Section intitulée « remettre le minuteur à zéro »- Type : 📦 Pile
- Fonction : Remet le minuteur à 0
- Exemple :
remettre le minuteur à zéroattendre jusqu'à ce que <(minuteur) > (5)>dire [5 secondes !]
[abscisse x] de [Sprite2]
Section intitulée « [abscisse x] de [Sprite2] »- Type : 📊 Reporter
- Fonction : Propriété d’un autre sprite
- Paramètres : Propriété, sprite
- Options : abscisse x, ordonnée y, direction, costume, taille, volume
- Exemple :
si <([abscisse x] de [Joueur]) > (100)> alors dire [Le joueur est à droite !]fin
si <([costume] de [Ennemi]) = (2)> alors dire [L'ennemi est en colère !]fin
date actuelle [année]
Section intitulée « date actuelle [année] »- Type : 📊 Reporter
- Fonction : Information de date/heure
- Options : année, mois, date, jour de la semaine, heure, minute, seconde
- Exemple :
si <(date actuelle [heure]) > (18)> alors basculer sur l'arrière-plan [nuit]sinon basculer sur l'arrière-plan [jour]fin
jours depuis 2000
Section intitulée « jours depuis 2000 »- Type : 📊 Reporter
- Fonction : Nombre de jours depuis le 1er janvier 2000
- Exemple :
mettre [jours] à (jours depuis 2000)dire (rejoindre [Jour ] (jours))
nom d'utilisateur
Section intitulée « nom d'utilisateur »- Type : 📊 Reporter
- Fonction : Nom d’utilisateur Scratch (si connecté)
- Exemple :
si <(nom d'utilisateur) = []> alors dire [Connectez-vous !]sinon dire (rejoindre [Bonjour ] (nom d'utilisateur))fin
Opérateurs 🧮
Section intitulée « Opérateurs 🧮 »Opérateurs Arithmétiques
Section intitulée « Opérateurs Arithmétiques »(50) + (50)
Section intitulée « (50) + (50) »- Type : 📊 Reporter
- Fonction : Addition
- Exemple :
mettre [total] à ((score) + (bonus))ajouter ((vitesse) + (1)) à x
(50) - (50)
Section intitulée « (50) - (50) »- Type : 📊 Reporter
- Fonction : Soustraction
- Exemple :
mettre [différence] à ((max) - (min))ajouter ((position) - (10)) à y
(50) * (50)
Section intitulée « (50) * (50) »- Type : 📊 Reporter
- Fonction : Multiplication
- Exemple :
mettre [aire] à ((largeur) * (hauteur))mettre [points] à ((niveau) * (100))
(50) / (50)
Section intitulée « (50) / (50) »- Type : 📊 Reporter
- Fonction : Division
- Exemple :
mettre [moyenne] à ((total) / (nombre))mettre [moitié] à ((taille) / (2))
nombre aléatoire entre (1) et (10)
Section intitulée « nombre aléatoire entre (1) et (10) »- Type : 📊 Reporter
- Fonction : Génère un nombre aléatoire
- Paramètres : Valeur minimale, valeur maximale
- Exemple :
aller à x: (nombre aléatoire entre (-200) et (200)) y: (150)attendre (nombre aléatoire entre (1) et (3)) secondesmettre [dé] à (nombre aléatoire entre (1) et (6))
Opérateurs de Comparaison
Section intitulée « Opérateurs de Comparaison »(50) > (50)
Section intitulée « (50) > (50) »- Type : ✅ Booléen
- Fonction : Supérieur à
- Exemple :
si <(score) > (highscore)> alors mettre [highscore] à (score) dire [Nouveau record !]fin
(50) < (50)
Section intitulée « (50) < (50) »- Type : ✅ Booléen
- Fonction : Inférieur à
- Exemple :
si <(vies) < (1)> alors envoyer à tous [game over]fin
(50) = (50)
Section intitulée « (50) = (50) »- Type : ✅ Booléen
- Fonction : Égal à
- Exemple :
si <(réponse) = [oui]> alors dire [Parfait !]fin
si <(costume) = (3)> alors jouer le son [spécial]fin
Opérateurs Logiques
Section intitulée « Opérateurs Logiques »<> et <>
Section intitulée « <> et <> »- Type : ✅ Booléen
- Fonction : ET logique (les deux conditions doivent être vraies)
- Exemple :
si <<(score) > (100)> et <(vies) > (0)>> alors dire [Bien joué !]fin
si <<touche [espace] pressée?> et <(énergie) > (10)>> alors // Saut avec consommation d'énergie ajouter (50) à y ajouter (-10) à [énergie]fin
<> ou <>
Section intitulée « <> ou <> »- Type : ✅ Booléen
- Fonction : OU logique (au moins une condition doit être vraie)
- Exemple :
si <<je touche [Ennemi1]?> ou <je touche [Ennemi2]?>> alors dire [Danger !]fin
si <<touche [w] pressée?> ou <touche [flèche haut] pressée?>> alors ajouter (5) à yfin
- Type : ✅ Booléen
- Fonction : NON logique (inverse la condition)
- Exemple :
si <non <je touche [Sol]?>> alors // Dans les airs ajouter (-2) à y // Gravitéfin
si <non <(nom d'utilisateur) = []>> alors dire [Utilisateur connecté !]fin
Opérateurs de Texte
Section intitulée « Opérateurs de Texte »rejoindre [pomme] [banane]
Section intitulée « rejoindre [pomme] [banane] »- Type : 📊 Reporter
- Fonction : Combine deux textes
- Exemple :
dire (rejoindre [Score: ] (score))mettre [nom complet] à (rejoindre (rejoindre (prénom) [ ]) (nom))dire (rejoindre [Niveau ] (niveau))
lettre (1) de [monde]
Section intitulée « lettre (1) de [monde] »- Type : 📊 Reporter
- Fonction : Extrait une lettre d’un texte
- Paramètres : Position, texte
- Exemple :
mettre [première] à (lettre (1) de (nom))si <(lettre (1) de (réponse)) = [o]> alors dire [Commence par O !]fin
longueur de [monde]
Section intitulée « longueur de [monde] »- Type : 📊 Reporter
- Fonction : Nombre de caractères dans un texte
- Exemple :
si <(longueur de (nom)) > (10)> alors dire [Nom très long !]fin
répéter (longueur de (mot)) fois dire (lettre (compteur) de (mot)) attendre (0.5) secondesfin
[monde] contient [ond]?
Section intitulée « [monde] contient [ond]? »- Type : ✅ Booléen
- Fonction : Vérifie si un texte contient un autre
- Exemple :
si <(réponse) contient [oui]?> alors dire [Réponse positive !]fin
si <(nom) contient [bot]?> alors dire [C'est un robot !]fin
Opérateurs Mathématiques
Section intitulée « Opérateurs Mathématiques »reste de (10) ÷ (3)
Section intitulée « reste de (10) ÷ (3) »- Type : 📊 Reporter
- Fonction : Reste de la division (modulo)
- Exemple :
si <(reste de (nombre) ÷ (2)) = (0)> alors dire [Nombre pair !]sinon dire [Nombre impair !]fin
arrondir (3.7)
Section intitulée « arrondir (3.7) »- Type : 📊 Reporter
- Fonction : Arrondit à l’entier le plus proche
- Exemple :
mettre [score arrondi] à (arrondir ((score) / (10)))dire (rejoindre [Score: ] (arrondir (points)))
[abs] de (10)
Section intitulée « [abs] de (10) »- Type : 📊 Reporter
- Fonction : Fonctions mathématiques
- Options : abs, floor, ceiling, sqrt, sin, cos, tan, asin, acos, atan, ln, log, e^, 10^
- Exemple :
mettre [distance] à ([abs] de ((x1) - (x2)))mettre [racine] à ([sqrt] de (nombre))mettre [sinus] à ([sin] de (angle))
Variables 📊
Section intitulée « Variables 📊 »Blocs de Variables
Section intitulée « Blocs de Variables »mettre [ma variable] à (0)
Section intitulée « mettre [ma variable] à (0) »- Type : 📦 Pile
- Fonction : Définit la valeur d’une variable
- Paramètres : Nom de variable, valeur
- Exemple :
mettre [score] à (0)mettre [nom] à (réponse)mettre [position] à (abscisse x)
ajouter (1) à [ma variable]
Section intitulée « ajouter (1) à [ma variable] »- Type : 📦 Pile
- Fonction : Modifie la valeur d’une variable
- Paramètres : Valeur à ajouter, nom de variable
- Exemple :
ajouter (10) à [score] // +10 pointsajouter (-1) à [vies] // -1 vieajouter (0.1) à [vitesse] // Accélération
montrer la variable [ma variable]
Section intitulée « montrer la variable [ma variable] »- Type : 📦 Pile
- Fonction : Affiche la variable sur la scène
- Exemple :
montrer la variable [score]montrer la variable [vies]
cacher la variable [ma variable]
Section intitulée « cacher la variable [ma variable] »- Type : 📦 Pile
- Fonction : Cache la variable de la scène
- Exemple :
cacher la variable [debug]cacher la variable [temporaire]
Blocs de Listes
Section intitulée « Blocs de Listes »ajouter [chose] à [ma liste]
Section intitulée « ajouter [chose] à [ma liste] »- Type : 📦 Pile
- Fonction : Ajoute un élément à la fin de la liste
- Exemple :
ajouter (nom) à [joueurs]ajouter (score) à [scores]ajouter [pomme] à [inventaire]
supprimer (1) de [ma liste]
Section intitulée « supprimer (1) de [ma liste] »- Type : 📦 Pile
- Fonction : Supprime un élément de la liste
- Paramètre : Position ou “tout” ou “dernier”
- Exemple :
supprimer (1) de [joueurs] // Premier élémentsupprimer (dernier) de [scores] // Dernier élémentsupprimer (tout) de [inventaire] // Vide la liste
insérer [chose] en (1) de [ma liste]
Section intitulée « insérer [chose] en (1) de [ma liste] »- Type : 📦 Pile
- Fonction : Insère un élément à une position
- Exemple :
insérer [nouveau] en (1) de [joueurs] // Au débutinsérer (score) en (3) de [scores] // 3ème position
remplacer l'élément (1) de [ma liste] par [chose]
Section intitulée « remplacer l'élément (1) de [ma liste] par [chose] »- Type : 📦 Pile
- Fonction : Modifie un élément existant
- Exemple :
remplacer l'élément (1) de [scores] par (nouveau_score)remplacer l'élément (position) de [noms] par (nouveau_nom)
élément (1) de [ma liste]
Section intitulée « élément (1) de [ma liste] »- Type : 📊 Reporter
- Fonction : Retourne un élément de la liste
- Exemple :
dire (élément (1) de [messages])mettre [joueur actuel] à (élément (tour) de [joueurs])
position de [chose] dans [ma liste]
Section intitulée « position de [chose] dans [ma liste] »- Type : 📊 Reporter
- Fonction : Trouve la position d’un élément
- Exemple :
mettre [rang] à (position de (nom) dans [classement])si <(position de [pomme] dans [inventaire]) > (0)> alors dire [J'ai une pomme !]fin
longueur de [ma liste]
Section intitulée « longueur de [ma liste] »- Type : 📊 Reporter
- Fonction : Nombre d’éléments dans la liste
- Exemple :
si <(longueur de [joueurs]) > (4)> alors dire [Trop de joueurs !]fin
répéter (longueur de [scores]) fois dire (élément (compteur) de [scores])fin
[ma liste] contient [chose]?
Section intitulée « [ma liste] contient [chose]? »- Type : ✅ Booléen
- Fonction : Vérifie si un élément existe dans la liste
- Exemple :
si <[inventaire] contient [clé]?> alors dire [Je peux ouvrir la porte !]fin
si <non <[amis] contient (nom)?>> alors ajouter (nom) à [amis]fin
montrer la liste [ma liste]
Section intitulée « montrer la liste [ma liste] »- Type : 📦 Pile
- Fonction : Affiche la liste sur la scène
- Exemple :
montrer la liste [scores]montrer la liste [inventaire]
cacher la liste [ma liste]
Section intitulée « cacher la liste [ma liste] »- Type : 📦 Pile
- Fonction : Cache la liste de la scène
- Exemple :
cacher la liste [debug]cacher la liste [temporaire]
Mes Blocs 🧩
Section intitulée « Mes Blocs 🧩 »Création de Blocs Personnalisés
Section intitulée « Création de Blocs Personnalisés »Définir un Bloc
Section intitulée « Définir un Bloc »définir [dessiner carré] taille (côté)répéter (4) fois avancer de (côté) pas tourner ↻ de (90) degrésfin
Utiliser le Bloc
Section intitulée « Utiliser le Bloc »[dessiner carré] taille (50)[dessiner carré] taille (100)
Blocs avec Paramètres
Section intitulée « Blocs avec Paramètres »Bloc avec Plusieurs Paramètres
Section intitulée « Bloc avec Plusieurs Paramètres »définir [aller vers] x (x) y (y) en (temps) secondesglisser en (temps) secondes à x: (x) y: (y)
Bloc avec Paramètre Booléen
Section intitulée « Bloc avec Paramètre Booléen »définir [sauter] avec son (avec_son)si <avec_son> alors jouer le son [saut]finajouter (50) à yattendre (0.5) secondesajouter (-50) à y
Bloc avec Paramètre Texte
Section intitulée « Bloc avec Paramètre Texte »définir [dire avec style] message (texte)mettre l'effet [couleur] à (nombre aléatoire entre (1) et (200))dire (texte) pendant (2) secondesannuler les effets graphiques
Blocs Avancés
Section intitulée « Blocs Avancés »Bloc qui Retourne une Valeur
Section intitulée « Bloc qui Retourne une Valeur »définir [distance entre] x1 (x1) y1 (y1) x2 (x2) y2 (y2)retourner ([sqrt] de (((x2) - (x1)) * ((x2) - (x1)) + ((y2) - (y1)) * ((y2) - (y1))))
Bloc Récursif
Section intitulée « Bloc Récursif »définir [factorielle] de (n)si <(n) < (2)> alors retourner (1)sinon retourner ((n) * ([factorielle] de ((n) - (1))))fin
Techniques Avancées
Section intitulée « Techniques Avancées »Optimisation des Scripts
Section intitulée « Optimisation des Scripts »Éviter les Boucles Infinies Coûteuses
Section intitulée « Éviter les Boucles Infinies Coûteuses »// ❌ Mauvais - vérifie constammentrépéter indéfiniment si <je touche [Ennemi]?> alors // action finfin
// ✅ Bon - utilise les événementsquand je reçois [vérifier collision]si <je touche [Ennemi]?> alors // actionfin
Limiter les Clones
Section intitulée « Limiter les Clones »// Compteur de clonessi <(nombre de clones) < (10)> alors créer un clone de [moi-même] ajouter (1) à [nombre de clones]fin
// Dans le clonequand je commence comme un clone// ... logique du clone ...ajouter (-1) à [nombre de clones]supprimer ce clone
Patterns de Programmation
Section intitulée « Patterns de Programmation »Machine à États
Section intitulée « Machine à États »// Variable: état = "menu", "jeu", "pause", "fin"répéter indéfiniment si <(état) = [menu]> alors [gérer menu] fin si <(état) = [jeu]> alors [gérer jeu] fin si <(état) = [pause]> alors [gérer pause] finfin
Communication entre Sprites
Section intitulée « Communication entre Sprites »// Sprite émetteurenvoyer à tous [données] avec (valeur)
// Sprite récepteurquand je reçois [données]mettre [valeur reçue] à (message)
Système de Coordonnées Relatives
Section intitulée « Système de Coordonnées Relatives »définir [déplacer relatif] dx (dx) dy (dy)aller à x: ((abscisse x) + (dx)) y: ((ordonnée y) + (dy))
Débogage et Tests
Section intitulée « Débogage et Tests »Affichage de Debug
Section intitulée « Affichage de Debug »// Variable debug visiblesi <(mode debug) = (1)> alors mettre [debug info] à (rejoindre [X:] (rejoindre (abscisse x) (rejoindre [ Y:] (ordonnée y))))fin
Tests Unitaires
Section intitulée « Tests Unitaires »définir [tester addition]mettre [résultat] à ([additionner] (2) (3))si <(résultat) = (5)> alors dire [Test réussi !]sinon dire [Test échoué !]fin
Gestion d’Erreurs
Section intitulée « Gestion d’Erreurs »si <(dénominateur) = (0)> alors dire [Erreur: division par zéro !] arrêter [ce script]finmettre [résultat] à ((numérateur) / (dénominateur))
Conseils d’Utilisation
Section intitulée « Conseils d’Utilisation »Bonnes Pratiques
Section intitulée « Bonnes Pratiques »-
Nommage Clair : Utilisez des noms descriptifs
- ✅
vitesse_joueur
,score_niveau
- ❌
var1
,x
,temp
- ✅
-
Organisation : Groupez les scripts logiquement
- Scripts d’initialisation en haut
- Scripts de gameplay au milieu
- Scripts utilitaires en bas
-
Commentaires : Utilisez les noms de blocs personnalisés comme documentation
-
Modularité : Créez des blocs personnalisés pour les actions répétées
-
Performance : Évitez les calculs inutiles dans les boucles
Erreurs Courantes
Section intitulée « Erreurs Courantes »- Boucles Infinites : Toujours avoir une condition de sortie
- Variables Non Initialisées : Définir les valeurs au démarrage
- Clones Non Supprimés : Toujours nettoyer les clones
- Collisions Imprécises : Ajuster la taille des sprites
- Scripts Multiples : Éviter les conflits entre scripts
Ressources d’Apprentissage
Section intitulée « Ressources d’Apprentissage »- Documentation Officielle : scratch.mit.edu
- Communauté : Forums et projets partagés
- Tutoriels : Vidéos et guides en ligne
- Expérimentation : Tester et modifier les exemples
Cette référence vous donne tous les outils nécessaires pour créer des projets Scratch sophistiqués. N’hésitez pas à expérimenter et à combiner les blocs de manière créative !