{ "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", "next": "data_setvariableto_1", "parent": null }, "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": 0 } }, "fields": { "VARIABLE": [ "score", null ] }, "shadow": false, "topLevel": false, "id": "data_setvariableto_1", "next": "control_forever_1", "parent": "event_whenflagclicked_1" }, "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": [ 1, [ 10, "0" ] ] }, "fields": { "VARIABLE": [ "my variable", "`jEk@4|i[#Fk?(8x)AV.-my variable" ] }, "shadow": false, "topLevel": false, "parent": null, "next": null }, "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": { "SUBSTACK": [ 2, "control_if_1" ] }, "fields": {}, "shadow": false, "topLevel": false, "id": "control_forever_1", "next": null, "parent": "event_whenflagclicked_1" }, "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": "sensing_touchingobject_1" }, "SUBSTACK": [ 2, "data_changevariableby_1" ] }, "fields": {}, "shadow": false, "topLevel": false, "id": "control_if_1", "next": null, "parent": "control_forever_1" }, "control_wait_1": { "block_name": "wait () seconds", "block_type": "Control", "block_shape": "Stack Block", "op_code": "control_wait", "functionality": "Pauses the script for a specified duration.", "inputs": { "DURATION": { "kind": "value", "value": 0.1 } }, "fields": {}, "shadow": false, "topLevel": false, "id": "control_wait_1", "next": null, "parent": "control_if_1" }, "sensing_touchingobject_1": { "block_name": "", "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": [ 1, "sensing_touchingobjectmenu_1" ] }, "fields": {}, "shadow": false, "topLevel": false, "id": "sensing_touchingobject_1", "parent": "control_if_1", "next": null }, "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": [ "other sprite", null ] }, "shadow": true, "topLevel": false, "id": "sensing_touchingobjectmenu_1", "parent": "sensing_touchingobject_1", "next": null }, "data_changevariableby_1": { "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": { "VALUE": { "kind": "value", "value": -1 } }, "fields": { "VARIABLE": [ "score", null ] }, "shadow": false, "topLevel": false, "id": "data_changevariableby_1", "next": "control_wait_1", "parent": "control_if_1" } }