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 pixelstourner ↻ 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 tourtourner ↺ 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 à gaucheBlocs 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 gauchealler à (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éatoireglisser 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 secondesBlocs 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 bass'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 spriteBlocs 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 !]finordonné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)findirection
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 !]finApparence 🎨
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) secondesdire [Bonjour !]
Section intitulée « dire [Bonjour !] »- Type : 📦 Pile
- Fonction : Affiche un message permanent
- Paramètre : Texte
- Exemple :
dire [Appuyez sur ESPACE]dire [] // Efface le messagepenser à [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) secondesse montrer
Section intitulée « se montrer »- Type : 📦 Pile
- Fonction : Rend le sprite visible
- Exemple :
se montrer // Apparaît à l'écranse cacher
Section intitulée « se cacher »- Type : 📦 Pile
- Fonction : Rend le sprite invisible
- Exemple :
se cacher // Disparaît de l'écranBlocs 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 simplebasculer 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 suivantBlocs 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 transparentmettre 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-transparentannuler 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 normaleBlocs 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 petitmettre 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 tailleBlocs 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 !]finnom 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) %finBlocs 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 sonjouer 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édiatementarrê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 totalBlocs 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 droitemettre 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 à gaucheannuler 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 normalBlocs 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 faiblemettre 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) à xquand 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) pasfinré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) pasfinBlocs 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]finsi <(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]finBlocs 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]finBlocs 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) secondesfinquand 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 clonesupprimer 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 clonefinCapteurs 👁️
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é]finje 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 !]fincouleur [#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 !]finBlocs 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é]finBlocs 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 finfinsouris 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) finfinabscisse 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)finordonné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)finBlocs 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 finfinminuteur
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 !]findate 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]finjours 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))finOpé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]finOpé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é !]finOpé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 !]finlongueur 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 !]finOpé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 !]finarrondir (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érationmontrer 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 listeinsé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 positionremplacer 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 !]finlongueur 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]finmontrer 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ésfinUtiliser 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) à yBloc 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 graphiquesBlocs 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))))finTechniques 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 // actionfinLimiter 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 clonePatterns 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] finfinCommunication 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))))finTests 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é !]finGestion 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 !