{ "block_category": "Stack Blocks", "description": "Stack blocks are the most common block shape, featuring a notch at the top and a bump at the bottom. They perform the main commands within a script and can connect both above and below them.", "blocks": [ { "block_name": "move () steps", "block_type": "Motion", "block_shape": "Stack Block", "op_code": "motion_movesteps", "functionality": "Moves the sprite forward by the specified number of steps in the direction it is currently facing. A positive value moves it forward, and a negative value moves it backward.", "inputs": [ { "name": "STEPS", "type": "number" } ], "example_standalone": "move () steps", "example_with_other_blocks": [ { "script": "when green flag clicked\n go to x: (0) y: (0)\n point in direction (90)\n move (50) steps\nend", "explanation": "This script first places the sprite at the center of the stage, points it to the right (90 degrees), and then moves it 50 steps in that direction." } ] }, { "block_name": "turn right () degrees", "block_type": "Motion", "block_shape": "Stack Block", "op_code": "motion_turnright", "functionality": "Turns the sprite clockwise by the specified number of degrees.", "inputs": [ { "name": "DEGREES", "type": "number" } ], "example_standalone": "turn (clockwise icon) (15) degrees", "example_with_other_blocks": [ { "script": "when [right arrow v] key pressed\n turn (clockwise icon) (15) degrees\nend", "explanation": "This script makes the sprite turn clockwise by 15 degrees every time the right arrow key is pressed." }, { "script": "when green flag clicked\n forever\n turn (clockwise icon) (15) degrees\n wait (0.5) seconds\n end", "explanation": "This script makes the sprite continuously spin clockwise by 15 degrees every half second." } ] }, { "block_name": "turn left () degrees", "block_type": "Motion", "block_shape": "Stack Block", "op_code": "motion_turnleft", "functionality": "Turns the sprite counter-clockwise by the specified number of degrees.", "inputs": [ { "name": "DEGREES", "type": "number" } ], "example_standalone": "turn (counter-clockwise icon) (15) degrees", "example_with_other_blocks": [ { "script": "when [left arrow v] key pressed\n turn (counter-clockwise icon) (15) degrees\nend", "explanation": "This script makes the sprite turn counter-clockwise by 15 degrees every time the left arrow key is pressed." }, { "script": "when green flag clicked\n forever\n turn (counter-clockwise icon) (15) degrees\n wait (0.5) seconds\n end\nend", "explanation": "This script makes the sprite continuously spin counter-clockwise by 15 degrees every half second." } ] }, { "block_name": "go to ()", "block_type": "Motion", "block_shape": "Stack Block", "op_code": "motion_goto", "functionality": "Moves the sprite to a specified location, which can be a random position or at the mouse pointer or another to the sprite.", "inputs": [ { "name": "TO", "type": "dropdown", "options": [ "random position", "mouse-pointer", "sprite1", "..." ] } ], "example_standalone": "go to [random position v]", "example_with_other_blocks": [ { "script": "when this sprite clicked\n go to [mouse-pointer v]", "explanation": "This script moves the sprite to the current position of the mouse pointer whenever the sprite is clicked." }, { "script": "when this sprite clicked\n go to [sprite v]", "explanation": "This script moves the sprite to the another sprite's position whenever the sprite is clicked." } ] }, { "block_name": "go to x: () y: ()", "block_type": "Motion", "block_shape": "Stack Block", "op_code": "motion_gotoxy", "functionality": "Moves the sprite to the specified X and Y coordinates on the stage.", "inputs": [ { "name": "X", "type": "number" }, { "name": "Y", "type": "number" } ], "example_standalone": "go to x: (0) y: (0)", "example_with_other_blocks": [ { "script": "when green flag clicked\n go to x: (120) y: (0)\n say [Ready to start! v] for (1) seconds\nend", "explanation": "This script positions the sprite at the center of the stage at the beginning of the project and then makes it say 'Ready to start!'." } ] }, { "block_name": "glide () secs to ()", "block_type": "Motion", "block_shape": "Stack Block", "op_code": "motion_glideto", "functionality": "Glides the sprite smoothly to a specified location (random position, mouse pointer, or another sprite) over a given number of seconds.", "inputs": [ { "name": "SECS", "type": "number" }, { "name": "TO", "type": "dropdown", "options": [ "random position", "mouse-pointer", "sprite1", "sprite2", "..." ] } ], "example_standalone": "glide (1) secs to ([random position v])", "example_with_other_blocks": [ { "script": "when green flag clicked\n glide (1) secs to ([mouse-pointer v])\nend", "explanation": "This script makes the sprite glide smoothly to the mouse pointer's position over 1 second when the green flag is clicked." } ] }, { "block_name": "glide () secs to x: () y: ()", "block_type": "Motion", "block_shape": "Stack Block", "op_code": "motion_glidesecstoxy", "functionality": "Glides the sprite smoothly to the specified X and Y coordinates over a given number of seconds.", "inputs": [ { "name": "SECS", "type": "number" }, { "name": "X", "type": "number" }, { "name": "Y", "type": "number" } ], "example_standalone": "glide (1) secs to x: (100) y: (50)", "example_with_other_blocks": [ { "script": "when green flag clicked\n glide (2) secs to x: (150) y: (-100)\n glide (2) secs to x: (-150) y: (100)\nend", "explanation": "This script makes the sprite glide to two different points on the stage, taking 2 seconds for each movement." } ] }, { "block_name": "point in direction ()", "block_type": "Motion", "block_shape": "Stack Block", "op_code": "motion_pointindirection", "functionality": "Sets the sprite's direction to a specified angle in degrees (0 = up, 90 = right, 180 = down, -90 = left).", "inputs": [ { "name": "DIRECTION", "type": "number" } ], "example_standalone": "point in direction (90)", "example_with_other_blocks": [ { "script": "when green flag clicked\n point in direction (0)\n move (100) steps\nend", "explanation": "This script makes the sprite point upwards (0 degrees) and then move 100 steps in that direction." } ] }, { "block_name": "point towards ()", "block_type": "Motion", "block_shape": "Stack Block", "op_code": "motion_pointtowards", "functionality": "Points the sprite towards the mouse pointer or another specified sprite.", "inputs": [ { "name": "TOWARDS", "type": "dropdown", "options": [ "mouse-pointer", "sprite1", "..." ] } ], "example_standalone": "point towards [mouse-pointer v]", "example_with_other_blocks": [ { "script": "when this sprite clicked\n point towards [mouse-pointer v]\n move (10) steps\nend", "explanation": "When the sprite is clicked, it will point towards the mouse pointer and then move 10 steps in that direction." }, { "script": "when green flag clicked\n forever\n point towards [mouse-pointer v]\n move (5) steps\n end\nend", "explanation": "This script makes the sprite continuously follow the mouse pointer." } ] }, { "block_name": "change x by ()", "block_type": "Motion", "block_shape": "Stack Block", "op_code": "motion_changexby", "functionality": "Changes the sprite's X-coordinate by the specified amount, moving it horizontally.", "inputs": [ { "name": "DX", "type": "number" } ], "example_standalone": "change x by (10)", "example_with_other_blocks": [ { "script": "when [right arrow v] key pressed\n change x by (10)\nend", "explanation": "This script moves the sprite 10 steps to the right when the right arrow key is pressed." } ] }, { "block_name": "set x to ()", "block_type": "Motion", "block_shape": "Stack Block", "op_code": "motion_setx", "functionality": "Sets the sprite's X-coordinate to a specific value, placing it at a precise horizontal position.", "inputs": [ { "name": "X", "type": "number" } ], "example_standalone": "set x to (0)", "example_with_other_blocks": [ { "script": "when green flag clicked\n set x to (0)\n set y to (0)\nend", "explanation": "This script centers the sprite horizontally at the start of the project." } ] }, { "block_name": "change y by ()", "block_type": "Motion", "block_shape": "Stack Block", "op_code": "motion_changeyby", "functionality": "Changes the sprite's Y-coordinate by the specified amount, moving it vertically.", "inputs": [ { "name": "DY", "type": "number" } ], "example_standalone": "change y by (10)", "example_with_other_blocks": [ { "script": "when [up arrow v] key pressed\n change y by (10)\nend", "explanation": "This script moves the sprite 10 steps up when the up arrow key is pressed." } ] }, { "block_name": "set y to ()", "block_type": "Motion", "block_shape": "Stack Block", "op_code": "motion_sety", "functionality": "Sets the sprite's Y-coordinate to a specific value, placing it at a precise vertical position.", "inputs": [ { "name": "Y", "type": "number" } ], "example_standalone": "set y to (0)", "example_with_other_blocks": [ { "script": "when green flag clicked\n set x to (0)\n set y to (0)\nend", "explanation": "This script centers the sprite vertically at the start of the project." } ] }, { "block_name": "if on edge, bounce", "block_type": "Motion", "block_shape": "Stack Block", "op_code": "motion_ifonedgebounce", "functionality": "Reverses the sprite's direction if it touches the edge of the stage.", "inputs": null, "example_standalone": "if on edge, bounce", "example_with_other_blocks": [ { "script": "when I receive [start moving v]\n repeat (50)\n move (5) steps\n if on edge, bounce\n end\nend", "explanation": "Upon receiving the 'start moving' broadcast, the sprite will move 5 steps repeatedly for 50 times, bouncing off edges if it touches them." }, { "script": "when green flag clicked\n forever\n move (10) steps\n if on edge, bounce\n end\nend", "explanation": "This script makes the sprite move continuously and bounce off the edges of the stage." } ] }, { "block_name": "set rotation style ()", "block_type": "Motion", "block_shape": "Stack Block", "op_code": "motion_setrotationstyle", "functionality": "Determines how the sprite rotates: 'left-right' (flips horizontally), 'don't rotate' (stays facing one direction), or 'all around' (rotates freely).", "inputs": [ { "name": "STYLE", "type": "dropdown", "options": [ "left-right", "don't rotate", "all around" ] } ], "example_standalone": "set rotation style [left-right v]", "example_with_other_blocks": [ { "script": "when backdrop switches to [game level 1 v]\n set rotation style [all around v]\nend", "explanation": "When the backdrop changes to 'game level 1', the sprite's rotation style will be set to 'all around', allowing it to rotate freely." }, { "script": "when green flag clicked\n set rotation style [left-right v]\n forever\n move (10) steps\n if on edge, bounce\n end \nend", "explanation": "This script makes the sprite move horizontally and flip its costume when it hits an edge, instead of rotating." } ] }, { "block_name": "say () for () seconds", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_sayforsecs", "functionality": "Displays a speech bubble containing specified text for a set duration.", "inputs": [ { "name": "MESSAGE", "type": "string" }, { "name": "SECS", "type": "number" } ], "example_standalone": "say [Hello!] for (2) seconds", "example_with_other_blocks": [ { "script": "when green flag clicked\n say [Grr] for (3) seconds\n say [Have you seen my honey? v] for (3) seconds\nend", "explanation": "This script makes the sprite display two sequential speech bubbles with different messages and durations. First, it says 'Grr' for 3 seconds, then 'Have you seen my honey?' for another 3 seconds." } ] }, { "block_name": "say ()", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_say", "functionality": "Displays a speech bubble with the specified text indefinitely until another 'say' or 'think' block is activated.", "inputs": [ { "name": "MESSAGE", "type": "string" } ], "example_standalone": "say [Hello! v]", "example_with_other_blocks": [ { "script": "when green flag clicked\n say [Welcome to my game! v]\n wait (2) seconds\n say [] \nend", "explanation": "This script makes the sprite say 'Welcome to my game!' for 2 seconds, then clears the speech bubble." } ] }, { "block_name": "think () for () seconds", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_thinkforsecs", "functionality": "Displays a thought bubble containing specified text for a set duration.", "inputs": [ { "name": "MESSAGE", "type": "string" }, { "name": "SECS", "type": "number" } ], "example_standalone": "think [Hmm... v] for (2) seconds", "example_with_other_blocks": [ { "script": "when this sprite clicked\n think [What should I do? v] for (2) seconds\nend", "explanation": "This script makes the sprite display a thought bubble saying 'What should I do?' for 2 seconds when clicked." } ] }, { "block_name": "think ()", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_think", "functionality": "Displays a thought bubble with the specified text indefinitely until another 'say' or 'think' block is activated.", "inputs": [ { "name": "MESSAGE", "type": "string" } ], "example_standalone": "think [Got it! v]", "example_with_other_blocks": [ { "script": "when I receive [correct answer v]\n think [That's right! v]\n wait (1) seconds\n think [good v] \nend", "explanation": "This script makes the sprite think 'That's right!' for 1 second when a 'correct answer' broadcast is received, then clears the thought bubble." } ] }, { "block_name": "switch costume to ()", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_switchcostumeto", "functionality": "Alters the sprite's appearance to a designated costume.", "inputs": [ { "name": "COSTUME", "type": "dropdown/number" } ], "example_standalone": "switch costume to [costume1 v]", "example_with_other_blocks": [ { "script": "when I receive [explosion v]\n repeat (5)\n next costume\n end\n hide[costume1 v] \nend", "explanation": "This script animates an explosion by rapidly switching costumes, then hides the sprite. [3]" } ] }, { "block_name": "next costume", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_nextcostume", "functionality": "Switches the sprite's costume to the next one in its costume list. If it's the last costume, it cycles back to the first.", "inputs": null, "example_standalone": "next costume", "example_with_other_blocks": [ { "script": "when [space v] key pressed\n repeat (3)\n next costume\n wait (0.1) seconds\n end \nend", "explanation": "When the space key is pressed, the sprite will cycle through its next three costumes with a short delay between each change." }, { "script": "when green flag clicked\n forever\n next costume\n wait (0.2) seconds\n end \nend", "explanation": "This script continuously animates the sprite by switching to the next costume every 0.2 seconds, creating a walking or flying effect." } ] }, { "block_name": "switch backdrop to ()", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_switchbackdropto", "functionality": "Changes the stage's backdrop to a specified backdrop.", "inputs": [ { "name": "BACKDROP", "type": "dropdown/number" } ], "example_standalone": "switch backdrop to [backdrop1 v]", "example_with_other_blocks": [ { "script": "when green flag clicked\n switch backdrop to [start screen v]\nend ", "explanation": "This script sets the stage to a 'start screen' backdrop when the project begins." } ] }, { "block_name": "switch backdrop to () and wait", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_switchbackdroptowait", "functionality": "Changes the stage's backdrop to a specified backdrop and pauses the script until any 'When backdrop switches to' scripts for that backdrop have finished.", "inputs": [ { "name": "BACKDROP", "type": "dropdown/number" } ], "example_standalone": "switch backdrop to [game over v] and wait", "example_with_other_blocks": [ { "script": "broadcast [game over v]\n switch backdrop to [game over v] and wait\n stop [all v] \nend", "explanation": "This script broadcasts a 'game over' message, then changes the backdrop to 'game over' and waits for any associated scripts to finish before stopping all processes." } ] }, { "block_name": "next backdrop", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_nextbackdrop", "functionality": "Switches the stage's backdrop to the next one in its backdrop list. If it's the last backdrop, it cycles back to the first.", "inputs": null, "example_standalone": "next backdrop", "example_with_other_blocks": [ { "script": "when [space v] key pressed\n next backdrop\nend", "explanation": "This script changes the stage to the next backdrop in the list each time the space key is pressed." } ] }, { "block_name": "change size by ()", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_changesizeby", "functionality": "Changes the sprite's size by a specified percentage. Positive values make it larger, negative values make it smaller.", "inputs": [ { "name": "CHANGE", "type": "number" } ], "example_standalone": "change size by (10)", "example_with_other_blocks": [ { "script": "when green flag clicked\n repeat (10)\n change size by (5)\n wait (0.1) seconds\n end \nend ", "explanation": "This script makes the sprite gradually grow larger over 10 steps, with a short pause between each size change." } ] }, { "block_name": "set size to () %", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_setsizeto", "functionality": "Sets the sprite's size to a specific percentage of its original size.", "inputs": [ { "name": "SIZE", "type": "number" } ], "example_standalone": "set size to (100) %", "example_with_other_blocks": [ { "script": "when green flag clicked\n set size to (50) %\n wait (1) seconds\n set size to (100) %\nend ", "explanation": "This script makes the sprite shrink to half its original size at the start, waits for 1 second, then returns to its original size." } ] }, { "block_name": "change () effect by ()", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_changeeffectby", "functionality": "Changes a visual effect on the sprite by a specified amount (e.g., color, fisheye, whirl, pixelate, mosaic, brightness, ghost).", "inputs": [ { "name": "EFFECT", "type": "dropdown", "options": [ "color", "fisheye", "whirl", "pixelate", "mosaic", "brightness", "ghost" ] }, { "name": "CHANGE", "type": "number" } ], "example_standalone": "change [color v] effect by (25)", "example_with_other_blocks": [ { "script": "when loudness > (10)\n change [fisheye v] effect by (5)\nend", "explanation": "When the loudness detected by the microphone is greater than 10, the sprite's fisheye effect will increase by 5." }, { "script": "when green flag clicked\n forever\n change [color v] effect by (5)\n wait (0.1) seconds\n end \nend", "explanation": "This script makes the sprite continuously cycle through different colors." } ] }, { "block_name": "set () effect to ()", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_seteffectto", "functionality": "Sets a visual effect on the sprite to a specific value.", "inputs": [ { "name": "EFFECT", "type": "dropdown", "options": [ "color", "fisheye", "whirl", "pixelate", "mosaic", "brightness", "ghost" ] }, { "name": "VALUE", "type": "number" } ], "example_standalone": "set [ghost v] effect to (50)", "example_with_other_blocks": [ { "script": "when green flag clicked\n set [ghost v] effect to (75)\nend", "explanation": "This script makes the sprite 75% transparent at the start of the project." } ] }, { "block_name": "clear graphic effects", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_cleargraphiceffects", "functionality": "Removes all visual effects applied to the sprite.", "inputs": null, "example_standalone": "clear graphic effects", "example_with_other_blocks": [ { "script": "when green flag clicked\n change [color v] effect by (50)\n wait (2) seconds\n clear graphic effects\nend", "explanation": "This script changes the sprite's color effect, waits 2 seconds, then resets all graphic effects." } ] }, { "block_name": "show", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_show", "functionality": "Makes the sprite visible on the stage.", "inputs": null, "example_standalone": "show", "example_with_other_blocks": [ { "script": "when green flag clicked\n hide[start game v]\nwhen I receive [start game v]\n show [start game v] \nend", "explanation": "This script hides the sprite at the beginning of the project and makes it visible when a 'start game' broadcast is received." } ] }, { "block_name": "hide", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_hide", "functionality": "Makes the sprite invisible on the stage.", "inputs": null, "example_standalone": "hide", "example_with_other_blocks": [ { "script": "when green flag clicked\n hide \nend", "explanation": "This script hides the sprite from the stage when the green flag is clicked." } ] }, { "block_name": "go to () layer", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_gotofrontback", "functionality": "Moves the sprite to the front-most or back-most layer of other sprites on the stage.", "inputs": [ { "name": "FRONT_BACK", "type": "dropdown", "options": [ "front", "back" ] } ], "example_standalone": "go to [front v] layer", "example_with_other_blocks": [ { "script": "when green flag clicked\n go to [front v] layer\nend", "explanation": "This script ensures the sprite is always visible on top of other sprites at the start of the project." } ] }, { "block_name": "go () layers", "block_type": "Looks", "block_shape": "Stack Block", "op_code": "looks_goforwardbackwardlayers", "functionality": "Moves the sprite forward or backward a specified number of layers in relation to other sprites.", "inputs": [ { "name": "FORWARD_BACKWARD", "type": "dropdown", "options": [ "forward", "backward" ] }, { "name": "NUM", "type": "number" } ], "example_standalone": "go [forward v] (1) layers", "example_with_other_blocks": [ { "script": "when this sprite clicked go [forward v] (1) layers\nend", "explanation": "This script brings the clicked sprite one layer closer to the front." } ] }, { "block_name": "play sound () until done", "block_type": "Sound", "block_shape": "Stack Block", "op_code": "sound_playuntildone", "functionality": "Plays a specified sound and pauses the script's execution until the sound has completed.", "inputs": [ { "name": "sound name", "type": "dropdown" } ], "example_standalone": "play sound [Meow v] until done", "example_with_other_blocks": [ { "script": "when backdrop switches to [winning screen v]\n play sound [fanfare v] until done\n say [You won!] for (2) seconds\nend", "explanation": "When the backdrop changes to the 'winning screen', a 'fanfare' sound will play until it finishes, and then the sprite will say 'You won!' for 2 seconds." }, { "script": "forever\n play sound [Music v] until done \nend", "explanation": "This script creates a continuous loop for background music, playing the 'Music' sound repeatedly." } ] }, { "block_name": "start sound ()", "block_type": "Sound", "block_shape": "Stack Block", "op_code": "sound_play", "functionality": "Initiates playback of a specified sound without pausing the script, allowing other actions to proceed concurrently.", "inputs": [ { "name": "sound name", "type": "dropdown" } ], "example_standalone": "start sound [Pop v]", "example_with_other_blocks": [ { "script": "when this sprite clicked\n start sound [Pop v]\n change [score v] by (1)\nend", "explanation": "This script plays a 'Pop' sound and increments the score simultaneously when the sprite is clicked." } ] }, { "block_name": "stop all sounds", "block_type": "Sound", "block_shape": "Stack Block", "op_code": "sound_stopallsounds", "functionality": "Stops all currently playing sounds.", "inputs": null, "example_standalone": "stop all sounds", "example_with_other_blocks": [ { "script": "when I receive [game over v]\n stop all sounds\nend", "explanation": "This script stops any sounds currently playing when the 'game over' broadcast is received." } ] }, { "block_name": "change volume by ()", "block_type": "Sound", "block_shape": "Stack Block", "op_code": "sound_changevolumeby", "functionality": "Changes the project's sound volume by a specified amount.", "inputs": [ { "name": "change", "type": "number" } ], "example_standalone": "change volume by (-10)", "example_with_other_blocks": [ { "script": "when [down arrow v] key pressed\n change volume by (-5)\nend", "explanation": "This script decreases the project's volume by 5 when the down arrow key is pressed." } ] }, { "block_name": "set volume to () %", "block_type": "Sound", "block_shape": "Stack Block", "op_code": "sound_setvolumeto", "functionality": "Sets the sound volume to a specific percentage (0-100).", "inputs": [ { "name": "percentage", "type": "number" } ], "example_standalone": "set volume to (100) %", "example_with_other_blocks": [ { "script": "when green flag clicked\n set volume to (50) %\nend", "explanation": "This script sets the project's volume to 50% when the green flag is clicked." } ] }, { "block_name": "broadcast ()", "block_type": "Events", "block_shape": "Stack Block", "op_code": "event_broadcast", "functionality": "Sends a broadcast message throughout the Scratch program, activating any 'when I receive ()' blocks that are set to listen for that message, enabling indirect communication.", "inputs": [ { "name": "message name", "type": "string/dropdown" } ], "example_standalone": "broadcast [start game v]", "example_with_other_blocks": [ { "script": "if then\n broadcast [jump v]\nend", "explanation": "This script sends a 'jump' message to other scripts or sprites when the space key is pressed." } ] }, { "block_name": "broadcast () and wait", "block_type": "Events", "block_shape": "Stack Block", "op_code": "event_broadcastandwait", "functionality": "Sends a broadcast message and pauses the current script until all other scripts activated by that broadcast have completed their execution, ensuring sequential coordination.", "inputs": [ { "name": "message name", "type": "string/dropdown" } ], "example_standalone": "broadcast [initialize sprites v] and wait", "example_with_other_blocks": [ { "script": "broadcast [initialize sprites v] and wait\n say [Game Started!] for (2) seconds", "explanation": "This script ensures all sprite initialization routines complete before displaying 'Game Started!' for 2 seconds." } ] }, { "block_name": "wait () seconds", "block_type": "Control", "block_shape": "Stack Block", "op_code": "control_wait", "functionality": "Pauses the script for a specified duration.", "inputs": [ { "name": "seconds", "type": "number" } ], "example_standalone": "wait (1) seconds", "example_with_other_blocks": [ { "script": "say [Hello!] for (1) seconds\n wait (0.5) seconds\n say [Goodbye!] for (1) seconds", "explanation": "This script creates a timed dialogue sequence, pausing for 0.5 seconds between two speech bubbles." } ] }, { "block_name": "wait until <>", "block_type": "Control", "block_shape": "Stack Block", "op_code": "control_wait_until", "functionality": "Pauses the script until the specified boolean condition becomes true. [NOTE: it takes boolean blocks as input]", "inputs": [ { "name": "condition", "type": "boolean" } ], "example_standalone": "wait until ", "example_with_other_blocks": [ { "script": "wait until \n start sound [pop v]\nend", "explanation": "This script pauses until the space key is pressed, then plays a 'pop' sound." } ] }, { "block_name": "stop ()", "block_type": "Control", "block_shape": "Stack Block", "op_code": "control_stop", "functionality": "Stops all scripts, this script, or other scripts in the sprite. Becomes a Cap Block if 'all' or 'this script' is selected in the dropdown menu.", "inputs": [ { "name": "option", "type": "dropdown", "options": [ "all", "this script", "other scripts in sprite" ] } ], "example_standalone": "stop [all v]", "example_with_other_blocks": [ { "script": "if then\n stop [all v]\nend", "explanation": "This script stops the entire project if the 'score' variable becomes 0." } ] }, { "block_name": "create clone of ()", "block_type": "Control", "block_shape": "Stack Block", "op_code": "control_create_clone_of", "functionality": "Generates a copy, or clone, of a specified sprite (or 'myself' for the current sprite).", "inputs": [ { "name": "sprite_name", "type": "dropdown", "options": [ "myself", "sprite1", "..." ] } ], "example_standalone": "create clone of [myself v]", "example_with_other_blocks": [ { "script": "when I start as a clone\n show\n go to random position\n wait (2) seconds\n delete this clone\nend", "explanation": "When a clone is created, it will show itself, go to a random position, wait for 2 seconds, and then delete itself." } ] }, { "block_name": "delete this clone", "block_type": "Control", "block_shape": "Stack Block", "op_code": "control_delete_this_clone", "functionality": "Deletes the clone that is currently running the script.", "inputs": null, "example_standalone": "delete this clone", "example_with_other_blocks": [ { "script": "when I start as a clone\n wait (5) seconds\n delete this clone\nend", "explanation": "This script makes each clone wait for 5 seconds after it's created, then deletes itself." } ] }, { "block_name": "set [my variable v] to ()", "block_type": "Data", "block_shape": "Stack Block", "op_code": "data_setvariableto", "functionality": "Assigns a specific value (number, string, or boolean) to a variable.", "inputs": [ { "name": "variable name", "type": "dropdown" }, { "name": "value", "type": "any" } ], "example_standalone": "set [score v] to (0)", "example_with_other_blocks": [ { "script": "when green flag clicked\n set [score v] to (0)\n set [player name v] to [Guest]\nend", "explanation": "This script initializes the 'score' variable to 0 and the 'player name' variable to 'Guest' when the project starts." } ] }, { "block_name": "change [my variable v] by ()", "block_type": "Data", "block_shape": "Stack Block", "op_code": "data_changevariableby", "functionality": "Increases or decreases a variable's numerical value by a specified amount.", "inputs": [ { "name": "variable name", "type": "dropdown" }, { "name": "value", "type": "number" } ], "example_standalone": "change [score v] by (1)", "example_with_other_blocks": [ { "script": "when this sprite clicked\n change [score v] by (1)\nend", "explanation": "This script increments the 'score' variable by 1 each time the sprite is clicked." } ] }, { "block_name": "add () to [my list v]", "block_type": "Data", "block_shape": "Stack Block", "op_code": "data_addtolist", "functionality": "Appends an item to the end of a list.", "inputs": [ { "name": "item", "type": "any" }, { "name": "list name", "type": "dropdown" } ], "example_standalone": "add [apple] to [shopping list v]", "example_with_other_blocks": [ { "script": "when green flag clicked\n add [apple] to [shopping list v]\n add [banana] to [shopping list v]\nend", "explanation": "This script adds 'apple' and 'banana' as new items to the 'shopping list' when the project starts." } ] }, { "block_name": "delete () of [my list v]", "block_type": "Data", "block_shape": "Stack Block", "op_code": "data_deleteoflist", "functionality": "Removes an item from a list by its index or by selecting 'all' items.", "inputs": [ { "name": "index/option", "type": "number/dropdown", "options": [ "all", "last", "random" ] }, { "name": "list name", "type": "dropdown" } ], "example_standalone": "delete (1) of [my list v]", "example_with_other_blocks": [ { "script": "when green flag clicked\n delete (all) of [my list v]\nend", "explanation": "This script clears all items from 'my list' when the green flag is clicked." } ] }, { "block_name": "insert () at () of [my list v]", "block_type": "Data", "block_shape": "Stack Block", "op_code": "data_insertatlist", "functionality": "Inserts an item at a specific position within a list.", "inputs": [ { "name": "item", "type": "any" }, { "name": "index", "type": "number" }, { "name": "list name", "type": "dropdown" } ], "example_standalone": "insert [orange] at (2) of [fruits v]", "example_with_other_blocks": [ { "script": "insert [orange] at (2) of [fruits v]", "explanation": "This script inserts 'orange' as the second item in the 'fruits' list, shifting subsequent items." } ] }, { "block_name": "replace item () of [my list v] with ()", "block_type": "Data", "block_shape": "Stack Block", "op_code": "data_replaceitemoflist", "functionality": "Replaces an item at a specific position in a list with a new value.", "inputs": [ { "name": "index", "type": "number" }, { "name": "list name", "type": "dropdown" }, { "name": "new item", "type": "any" } ], "example_standalone": "replace item (1) of [colors v] with [blue]", "example_with_other_blocks": [ { "script": "replace item (1) of [colors v] with [blue]", "explanation": "This script changes the first item in the 'colors' list to 'blue'." } ] }, { "block_name": "show variable [my variable v]", "block_type": "Data", "block_shape": "Stack Block", "op_code": "data_showvariable", "functionality": "Makes a variable's monitor visible on the stage.", "inputs": [ { "name": "variable name", "type": "dropdown" } ], "example_standalone": "show variable [score v]", "example_with_other_blocks": [ { "script": "when green flag clicked\n show variable [score v]\nend", "explanation": "This script displays the 'score' variable on the stage when the project starts." } ] }, { "block_name": "hide variable [my variable v]", "block_type": "Data", "block_shape": "Stack Block", "op_code": "data_hidevariable", "functionality": "Hides a variable's monitor from the stage.", "inputs": [ { "name": "variable name", "type": "dropdown" } ], "example_standalone": "hide variable [score v]", "example_with_other_blocks": [ { "script": "when I receive [game over v]\n hide variable [score v]\nend", "explanation": "This script hides the 'score' variable when the 'game over' broadcast is received." } ] }, { "block_name": "show list [my list v]", "block_type": "Data", "block_shape": "Stack Block", "op_code": "data_showlist", "functionality": "Makes a list's monitor visible on the stage.", "inputs": [ { "name": "list name", "type": "dropdown" } ], "example_standalone": "show list [shopping list v]", "example_with_other_blocks": [ { "script": "when green flag clicked\n show list [shopping list v]\nend", "explanation": "This script displays the 'shopping list' on the stage when the project starts." } ] }, { "block_name": "hide list [my list v]", "block_type": "Data", "block_shape": "Stack Block", "op_code": "data_hidelist", "functionality": "Hides a list's monitor from the stage.", "inputs": [ { "name": "list name", "type": "dropdown" } ], "example_standalone": "hide list [shopping list v]", "example_with_other_blocks": [ { "script": "when I receive [game over v]\n hide list [shopping list v]\nend", "explanation": "This script hides the 'shopping list' when the 'game over' broadcast is received." } ] }, { "block_name": "Ask () and Wait", "block_type": "Sensing", "block_shape": "Stack Block", "op_code": "sensing_askandwait", "functionality": "Displays an input box with specified text at the bottom of the screen, allowing users to input text, which is stored in the 'Answer' block.", "inputs": [ { "name": "question", "type": "text" } ], "example_standalone": "ask [What is your name? v] and wait", "example_with_other_blocks": [ { "script": "ask [What is your name? v] and wait\n say join [Hello v] (answer) for (2) seconds \nend", "explanation": "This script prompts the user for their name, waits for input, then greets them using the provided answer." } ] }, { "block_name": "Reset Timer", "block_type": "Sensing", "block_shape": "Stack Block", "op_code": "sensing_resettimer", "functionality": "Sets the timer’s value back to 0.0.", "inputs": null, "example_standalone": "reset timer", "example_with_other_blocks": [ { "script": "when green flag clicked\n reset timer\n wait (5) seconds\n say timer for (2) seconds\nend", "explanation": "This script resets the timer at the start, waits for 5 seconds, then says the current timer value." } ] }, { "block_name": "set drag mode [draggable v]", "block_type": "Sensing", "block_shape": "Stack Block", "op_code": "sensing_setdragmode", "functionality": "Sets whether the sprite can be dragged by the mouse on the stage.", "inputs": null, "fields": { "DRAG_MODE": { "type": "dropdown", "options": [ "draggable", "not draggable" ] } }, "example_standalone": "set drag mode [draggable v]", "example_with_other_blocks": [ { "script": "when green flag clicked\n set drag mode [not draggable v]\nend when this sprite clicked\n set drag mode [draggable v] \nend", "explanation": "This script makes the sprite not draggable when the project starts, but allows it to be dragged once it's clicked." } ] }, { "block_name": "[my custom block]", "block_type": "My Blocks", "block_shape": "Stack Block", "op_code": "procedures_call", "functionality": "Executes the script defined by a corresponding 'define' Hat block. This block allows users to call and reuse custom code sequences by simply dragging and dropping it into their scripts, optionally providing required input values.", "inputs": [ { "name": "argument_name_1", "type": "any" }, { "name": "argument_name_2", "type": "any" } ], "example_standalone": "jump (50)", "example_with_other_blocks": [ { "script": "when green flag clicked\n go to x: (0) y: (0)\n jump (50)\n wait (1) seconds\n say [I jumped!] for (2) seconds", "explanation": "This script moves the sprite to a starting position, then calls the 'jump' custom block with an input of 50 (assuming 'jump' is a custom block that moves the sprite up and down). After the jump, the sprite says 'I jumped!'." }, { "script": "when green flag clicked\n hide\n forever\n create clone of [myself v]\n wait (1) seconds\n end", "explanation": "This script continuously creates new clones of the current sprite every second after the original sprite hides itself." } ] } ] }