Spaces:
Sleeping
Sleeping
| { | |
| "event_whenflagclicked_1": { | |
| "block_name": "when green flag pressed", | |
| "block_type": "Events", | |
| "op_code": "event_whenflagclicked", | |
| "block_shape": "Hat Block", | |
| "functionality": "This Hat block initiates the script when the green flag is clicked, serving as the common starting point for most Scratch projects.", | |
| "inputs": {}, | |
| "fields": {}, | |
| "shadow": false, | |
| "topLevel": true, | |
| "id": "event_whenflagclicked_1", | |
| "parent": null, | |
| "next": "data_setvariableto_1", | |
| "sub_stacks": {} | |
| }, | |
| "motion_gotoxy_1": { | |
| "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": { | |
| "X": { | |
| "kind": "value", | |
| "value": 240 | |
| }, | |
| "Y": { | |
| "kind": "value", | |
| "value": -135 | |
| } | |
| }, | |
| "fields": {}, | |
| "shadow": false, | |
| "topLevel": false, | |
| "id": "motion_gotoxy_1", | |
| "parent": "data_setvariableto_1", | |
| "next": "data_setvariableto_2", | |
| "sub_stacks": {} | |
| }, | |
| "motion_xposition_1": { | |
| "block_name": "(x position)", | |
| "block_type": "Motion", | |
| "block_shape": "Reporter Block", | |
| "op_code": "motion_xposition", | |
| "functionality": "Reports the current X-coordinate of the sprite.[NOTE: not used in stage/backdrops]", | |
| "inputs": {}, | |
| "fields": {}, | |
| "shadow": false, | |
| "topLevel": true, | |
| "id": "motion_xposition_1", | |
| "parent": "operator_lt_1", | |
| "next": null, | |
| "sub_stacks": {} | |
| }, | |
| "motion_setx_1": { | |
| "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": { | |
| "X": { | |
| "kind": "value", | |
| "value": 240 | |
| } | |
| }, | |
| "fields": {}, | |
| "shadow": false, | |
| "topLevel": false, | |
| "id": "motion_setx_1", | |
| "parent": "control_if_1", | |
| "next": null, | |
| "sub_stacks": {} | |
| }, | |
| "control_forever_1": { | |
| "block_name": "forever", | |
| "block_type": "Control", | |
| "block_shape": "C-Block", | |
| "op_code": "control_forever", | |
| "functionality": "Continuously runs the blocks inside it.", | |
| "inputs": {}, | |
| "fields": {}, | |
| "shadow": false, | |
| "topLevel": false, | |
| "sub_stacks": { | |
| "SUBSTACK": [ | |
| 2, | |
| null | |
| ] | |
| }, | |
| "id": "control_forever_1", | |
| "parent": "data_showvariable_2", | |
| "next": null | |
| }, | |
| "control_if_1": { | |
| "block_name": "if <> then", | |
| "block_type": "Control", | |
| "block_shape": "C-Block", | |
| "op_code": "control_if", | |
| "functionality": "Executes the blocks inside it only if the specified boolean condition is true. [NOTE: it takes boolean blocks as input]", | |
| "inputs": { | |
| "CONDITION": { | |
| "kind": "block", | |
| "block": "operator_lt_1" | |
| } | |
| }, | |
| "fields": {}, | |
| "shadow": false, | |
| "topLevel": false, | |
| "sub_stacks": { | |
| "SUBSTACK": [ | |
| 2, | |
| null | |
| ] | |
| }, | |
| "id": "control_if_1", | |
| "parent": "control_forever_1", | |
| "next": "control_if_2" | |
| }, | |
| "control_stop_1": { | |
| "block_name": "stop [v]", | |
| "block_type": "Control", | |
| "block_shape": "Cap Block", | |
| "op_code": "control_stop", | |
| "functionality": "Halts all scripts, only the current script, or other scripts within the same sprite. Its shape can dynamically change based on the selected option.", | |
| "inputs": {}, | |
| "fields": { | |
| "STOP_OPTION": [ | |
| "all ", | |
| null | |
| ] | |
| }, | |
| "shadow": false, | |
| "topLevel": false, | |
| "mutation": { | |
| "tagName": "mutation", | |
| "children": [], | |
| "hasnext": "false" | |
| }, | |
| "id": "control_stop_1", | |
| "parent": "event_broadcast_1", | |
| "next": null, | |
| "sub_stacks": {} | |
| }, | |
| "operator_lt_1": { | |
| "block_name": "<() < ()>", | |
| "block_type": "operator", | |
| "block_shape": "Boolean Block", | |
| "op_code": "operator_lt", | |
| "functionality": "Checks if the first value is less than the second.", | |
| "inputs": { | |
| "OPERAND1": [ | |
| 2, | |
| "motion_xposition_1" | |
| ], | |
| "OPERAND2": [ | |
| 1, | |
| "-235" | |
| ] | |
| }, | |
| "fields": {}, | |
| "shadow": false, | |
| "topLevel": true, | |
| "id": "operator_lt_1", | |
| "parent": "control_if_1", | |
| "next": null, | |
| "sub_stacks": {} | |
| }, | |
| "sensing_touchingobject_1": { | |
| "block_name": "<touching [edge v]?>", | |
| "block_type": "Sensing", | |
| "op_code": "sensing_touchingobject", | |
| "block_shape": "Boolean Block", | |
| "functionality": "Checks if its sprite is touching the mouse-pointer, edge, or another specified sprite.", | |
| "inputs": { | |
| "TOUCHINGOBJECTMENU": [ | |
| 2, | |
| "sensing_touchingobjectmenu_1" | |
| ] | |
| }, | |
| "fields": {}, | |
| "shadow": false, | |
| "topLevel": true, | |
| "id": "sensing_touchingobject_1", | |
| "parent": "control_if_2", | |
| "next": null, | |
| "sub_stacks": {} | |
| }, | |
| "sensing_touchingobjectmenu_1": { | |
| "block_name": "touching object menu", | |
| "block_type": "Sensing", | |
| "block_shape": "Reporter Block", | |
| "op_code": "sensing_touchingobjectmenu", | |
| "functionality": "Menu for touching object block.", | |
| "inputs": {}, | |
| "fields": { | |
| "TOUCHINGOBJECTMENU": [ | |
| "sprite1", | |
| null | |
| ] | |
| }, | |
| "shadow": true, | |
| "topLevel": false, | |
| "id": "sensing_touchingobjectmenu_1", | |
| "parent": "sensing_touchingobject_1", | |
| "next": null, | |
| "sub_stacks": {} | |
| }, | |
| "event_broadcast_1": { | |
| "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": { | |
| "BROADCAST_INPUT": { | |
| "kind": "value", | |
| "value": "Game Over" | |
| } | |
| }, | |
| "fields": {}, | |
| "shadow": false, | |
| "topLevel": false, | |
| "id": "event_broadcast_1", | |
| "parent": "control_if_2", | |
| "next": "control_stop_1", | |
| "sub_stacks": {} | |
| }, | |
| "data_setvariableto_1": { | |
| "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": { | |
| "VALUE": { | |
| "kind": "value", | |
| "value": 1 | |
| } | |
| }, | |
| "fields": { | |
| "VARIABLE": [ | |
| "score", | |
| null | |
| ] | |
| }, | |
| "shadow": false, | |
| "topLevel": false, | |
| "id": "data_setvariableto_1", | |
| "parent": "event_whenflagclicked_1", | |
| "next": "motion_gotoxy_1", | |
| "sub_stacks": {} | |
| }, | |
| "data_showvariable_1": { | |
| "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": {}, | |
| "fields": { | |
| "VARIABLE": [ | |
| "score", | |
| null | |
| ] | |
| }, | |
| "shadow": false, | |
| "topLevel": false, | |
| "id": "data_showvariable_1", | |
| "parent": "data_setvariableto_2", | |
| "next": "data_showvariable_2", | |
| "sub_stacks": {} | |
| }, | |
| "data_showvariable_2": { | |
| "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": {}, | |
| "fields": { | |
| "VARIABLE": [ | |
| "speed", | |
| null | |
| ] | |
| }, | |
| "shadow": false, | |
| "topLevel": false, | |
| "id": "data_showvariable_2", | |
| "parent": "data_showvariable_1", | |
| "next": "control_forever_1", | |
| "sub_stacks": {} | |
| }, | |
| "data_setvariableto_2": { | |
| "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": { | |
| "VALUE": { | |
| "kind": "value", | |
| "value": 1 | |
| } | |
| }, | |
| "fields": { | |
| "VARIABLE": [ | |
| "speed", | |
| null | |
| ] | |
| }, | |
| "shadow": false, | |
| "topLevel": false, | |
| "id": "data_setvariableto_2", | |
| "sub_stacks": {}, | |
| "parent": "motion_gotoxy_1", | |
| "next": "data_showvariable_1" | |
| }, | |
| "control_if_2": { | |
| "block_name": "if <> then", | |
| "block_type": "Control", | |
| "block_shape": "C-Block", | |
| "op_code": "control_if", | |
| "functionality": "Executes the blocks inside it only if the specified boolean condition is true. [NOTE: it takes boolean blocks as input]", | |
| "inputs": { | |
| "CONDITION": { | |
| "kind": "block", | |
| "block": "sensing_touchingobject_1" | |
| } | |
| }, | |
| "fields": {}, | |
| "shadow": false, | |
| "topLevel": false, | |
| "sub_stacks": { | |
| "SUBSTACK": [ | |
| 2, | |
| null | |
| ] | |
| }, | |
| "id": "control_if_2", | |
| "parent": "control_if_1", | |
| "next": null | |
| } | |
| } |