WebashalarForML commited on
Commit
3abfe5a
·
verified ·
1 Parent(s): 663c7f5

Upload 197 files

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +1 -0
  2. README.md +0 -12
  3. blocks/blocks.json +2221 -0
  4. blocks/boolean_blocks.json +277 -0
  5. blocks/c_blocks.json +105 -0
  6. blocks/cap_blocks.json +53 -0
  7. blocks/classwise_blocks/control_block.json +168 -0
  8. blocks/classwise_blocks/data_block.json +328 -0
  9. blocks/classwise_blocks/event_block.json +136 -0
  10. blocks/classwise_blocks/motion_block.json +370 -0
  11. blocks/classwise_blocks/operator_blocks.json +409 -0
  12. blocks/classwise_blocks/sensing_block.json +292 -0
  13. blocks/classwise_blocks/sound_block.json +0 -0
  14. blocks/excel_contetn/hat_block.xlsx +0 -0
  15. blocks/excel_contetn/stack_block.xlsx +0 -0
  16. blocks/hat_blocks.json +217 -0
  17. blocks/reporter_blocks.json +709 -0
  18. blocks/stack_blocks.json +1316 -0
  19. generated_projects/148cec44-05b5-4562-b06e-b92c64d1ca9e/5d973d7a3a8be3f3bd6e1cd0f73c32b5.svg +29 -0
  20. generated_projects/148cec44-05b5-4562-b06e-b92c64d1ca9e/83a9787d4cb6f3b7632b4ddfebf74367.wav +0 -0
  21. generated_projects/148cec44-05b5-4562-b06e-b92c64d1ca9e/83c36d806dc92327b9e7049a565c6bff.wav +0 -0
  22. generated_projects/148cec44-05b5-4562-b06e-b92c64d1ca9e/bcf454acf82e4504149f7ffe07081dbc.svg +42 -0
  23. generated_projects/148cec44-05b5-4562-b06e-b92c64d1ca9e/e7c147730f19d284bcd7b3f00af19bb6.svg +19 -0
  24. generated_projects/148cec44-05b5-4562-b06e-b92c64d1ca9e/project.json +1250 -0
  25. generated_projects/1508c7e3-795d-411c-83bb-f3f2b6d3ff31/5d973d7a3a8be3f3bd6e1cd0f73c32b5.svg +29 -0
  26. generated_projects/1508c7e3-795d-411c-83bb-f3f2b6d3ff31/83a9787d4cb6f3b7632b4ddfebf74367.wav +0 -0
  27. generated_projects/1508c7e3-795d-411c-83bb-f3f2b6d3ff31/83c36d806dc92327b9e7049a565c6bff.wav +0 -0
  28. generated_projects/1508c7e3-795d-411c-83bb-f3f2b6d3ff31/bcf454acf82e4504149f7ffe07081dbc.svg +42 -0
  29. generated_projects/1508c7e3-795d-411c-83bb-f3f2b6d3ff31/e7c147730f19d284bcd7b3f00af19bb6.svg +19 -0
  30. generated_projects/1508c7e3-795d-411c-83bb-f3f2b6d3ff31/ee99a4b49761fe861db0753d43918c68.svg +1 -0
  31. generated_projects/1508c7e3-795d-411c-83bb-f3f2b6d3ff31/project.json +131 -0
  32. generated_projects/23d18cd1-988b-4160-9895-d43af97bcc2b/5d973d7a3a8be3f3bd6e1cd0f73c32b5.svg +29 -0
  33. generated_projects/23d18cd1-988b-4160-9895-d43af97bcc2b/83a9787d4cb6f3b7632b4ddfebf74367.wav +0 -0
  34. generated_projects/23d18cd1-988b-4160-9895-d43af97bcc2b/83c36d806dc92327b9e7049a565c6bff.wav +0 -0
  35. generated_projects/23d18cd1-988b-4160-9895-d43af97bcc2b/bcf454acf82e4504149f7ffe07081dbc.svg +42 -0
  36. generated_projects/23d18cd1-988b-4160-9895-d43af97bcc2b/e7c147730f19d284bcd7b3f00af19bb6.svg +19 -0
  37. generated_projects/23d18cd1-988b-4160-9895-d43af97bcc2b/ee99a4b49761fe861db0753d43918c68.svg +1 -0
  38. generated_projects/23d18cd1-988b-4160-9895-d43af97bcc2b/project.json +1553 -0
  39. generated_projects/27159694-6177-4280-8921-1ed71ff92da3/5d973d7a3a8be3f3bd6e1cd0f73c32b5.svg +29 -0
  40. generated_projects/27159694-6177-4280-8921-1ed71ff92da3/83a9787d4cb6f3b7632b4ddfebf74367.wav +0 -0
  41. generated_projects/27159694-6177-4280-8921-1ed71ff92da3/83c36d806dc92327b9e7049a565c6bff.wav +0 -0
  42. generated_projects/27159694-6177-4280-8921-1ed71ff92da3/bcf454acf82e4504149f7ffe07081dbc.svg +42 -0
  43. generated_projects/27159694-6177-4280-8921-1ed71ff92da3/e7c147730f19d284bcd7b3f00af19bb6.svg +19 -0
  44. generated_projects/27159694-6177-4280-8921-1ed71ff92da3/project.json +122 -0
  45. generated_projects/294e8be7-a99c-42be-b953-5171c1c307ec/5d973d7a3a8be3f3bd6e1cd0f73c32b5.svg +29 -0
  46. generated_projects/294e8be7-a99c-42be-b953-5171c1c307ec/83a9787d4cb6f3b7632b4ddfebf74367.wav +0 -0
  47. generated_projects/294e8be7-a99c-42be-b953-5171c1c307ec/83c36d806dc92327b9e7049a565c6bff.wav +0 -0
  48. generated_projects/294e8be7-a99c-42be-b953-5171c1c307ec/bcf454acf82e4504149f7ffe07081dbc.svg +42 -0
  49. generated_projects/294e8be7-a99c-42be-b953-5171c1c307ec/e7c147730f19d284bcd7b3f00af19bb6.svg +19 -0
  50. generated_projects/294e8be7-a99c-42be-b953-5171c1c307ec/project.json +122 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ static/assets/backdrops/ef9973bcff6d4cbc558e946028ec7d23.png filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,12 +0,0 @@
1
- ---
2
- title: Scratch Agent V1
3
- emoji: 📈
4
- colorFrom: purple
5
- colorTo: blue
6
- sdk: docker
7
- pinned: false
8
- license: other
9
- short_description: scratch agent to build scratch agent
10
- ---
11
-
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
blocks/blocks.json ADDED
@@ -0,0 +1,2221 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "motion_movesteps": {
3
+ "opcode": "motion_movesteps",
4
+ "next": null,
5
+ "parent": null,
6
+ "inputs": {
7
+ "STEPS": [
8
+ 1,
9
+ [
10
+ 4,
11
+ "10"
12
+ ]
13
+ ]
14
+ },
15
+ "fields": {},
16
+ "shadow": false,
17
+ "topLevel": true,
18
+ "x": 464,
19
+ "y": -416
20
+ },
21
+ "motion_turnright": {
22
+ "opcode": "motion_turnright",
23
+ "next": null,
24
+ "parent": null,
25
+ "inputs": {
26
+ "DEGREES": [
27
+ 1,
28
+ [
29
+ 4,
30
+ "15"
31
+ ]
32
+ ]
33
+ },
34
+ "fields": {},
35
+ "shadow": false,
36
+ "topLevel": true,
37
+ "x": 467,
38
+ "y": -316
39
+ },
40
+ "motion_turnleft": {
41
+ "opcode": "motion_turnleft",
42
+ "next": null,
43
+ "parent": null,
44
+ "inputs": {
45
+ "DEGREES": [
46
+ 1,
47
+ [
48
+ 4,
49
+ "15"
50
+ ]
51
+ ]
52
+ },
53
+ "fields": {},
54
+ "shadow": false,
55
+ "topLevel": true,
56
+ "x": 464,
57
+ "y": -210
58
+ },
59
+ "motion_goto": {
60
+ "opcode": "motion_goto",
61
+ "next": null,
62
+ "parent": null,
63
+ "inputs": {
64
+ "TO": [
65
+ 1,
66
+ "@iM=Z?~GCbpC}gT7KAKY"
67
+ ]
68
+ },
69
+ "fields": {},
70
+ "shadow": false,
71
+ "topLevel": true,
72
+ "x": 465,
73
+ "y": -95
74
+ },
75
+ "motion_goto_menu": {
76
+ "opcode": "motion_goto_menu",
77
+ "next": null,
78
+ "parent": "d|J?C902/xy6tD5,|dmB",
79
+ "inputs": {},
80
+ "fields": {
81
+ "TO": [
82
+ "_random_",
83
+ null
84
+ ]
85
+ },
86
+ "shadow": true,
87
+ "topLevel": false
88
+ },
89
+ "motion_gotoxy": {
90
+ "opcode": "motion_gotoxy",
91
+ "next": null,
92
+ "parent": null,
93
+ "inputs": {
94
+ "X": [
95
+ 1,
96
+ [
97
+ 4,
98
+ "0"
99
+ ]
100
+ ],
101
+ "Y": [
102
+ 1,
103
+ [
104
+ 4,
105
+ "0"
106
+ ]
107
+ ]
108
+ },
109
+ "fields": {},
110
+ "shadow": false,
111
+ "topLevel": true,
112
+ "x": 468,
113
+ "y": 12
114
+ },
115
+ "motion_glideto": {
116
+ "opcode": "motion_glideto",
117
+ "next": null,
118
+ "parent": null,
119
+ "inputs": {
120
+ "SECS": [
121
+ 1,
122
+ [
123
+ 4,
124
+ "1"
125
+ ]
126
+ ],
127
+ "TO": [
128
+ 1,
129
+ "{id to destination position}"
130
+ ]
131
+ },
132
+ "fields": {},
133
+ "shadow": false,
134
+ "topLevel": true,
135
+ "x": 470,
136
+ "y": 129
137
+ },
138
+ "motion_glideto_menu": {
139
+ "opcode": "motion_glideto_menu",
140
+ "next": null,
141
+ "parent": null,
142
+ "inputs": {},
143
+ "fields": {
144
+ "TO": [
145
+ "_random_",
146
+ null
147
+ ]
148
+ },
149
+ "shadow": true,
150
+ "topLevel": false
151
+ },
152
+ "motion_glidesecstoxy": {
153
+ "opcode": "motion_glidesecstoxy",
154
+ "next": null,
155
+ "parent": null,
156
+ "inputs": {
157
+ "SECS": [
158
+ 1,
159
+ [
160
+ 4,
161
+ "1"
162
+ ]
163
+ ],
164
+ "X": [
165
+ 1,
166
+ [
167
+ 4,
168
+ "0"
169
+ ]
170
+ ],
171
+ "Y": [
172
+ 1,
173
+ [
174
+ 4,
175
+ "0"
176
+ ]
177
+ ]
178
+ },
179
+ "fields": {},
180
+ "shadow": false,
181
+ "topLevel": true,
182
+ "x": 476,
183
+ "y": 239
184
+ },
185
+ "motion_pointindirection": {
186
+ "opcode": "motion_pointindirection",
187
+ "next": null,
188
+ "parent": null,
189
+ "inputs": {
190
+ "DIRECTION": [
191
+ 1,
192
+ [
193
+ 8,
194
+ "90"
195
+ ]
196
+ ]
197
+ },
198
+ "fields": {},
199
+ "shadow": false,
200
+ "topLevel": true,
201
+ "x": 493,
202
+ "y": 361
203
+ },
204
+ "motion_pointtowards": {
205
+ "opcode": "motion_pointtowards",
206
+ "next": null,
207
+ "parent": null,
208
+ "inputs": {
209
+ "TOWARDS": [
210
+ 1,
211
+ "6xQl1pPk%9E~Znhm*:ng"
212
+ ]
213
+ },
214
+ "fields": {},
215
+ "shadow": false,
216
+ "topLevel": true,
217
+ "x": 492,
218
+ "y": 463
219
+ },
220
+ "motion_pointtowards_menu": {
221
+ "opcode": "motion_pointtowards_menu",
222
+ "next": null,
223
+ "parent": "Ucm$YBs*^9GFTGXCbal@",
224
+ "inputs": {},
225
+ "fields": {
226
+ "TOWARDS": [
227
+ "_mouse_",
228
+ null
229
+ ]
230
+ },
231
+ "shadow": true,
232
+ "topLevel": false
233
+ },
234
+ "motion_changexby": {
235
+ "opcode": "motion_changexby",
236
+ "next": null,
237
+ "parent": null,
238
+ "inputs": {
239
+ "DX": [
240
+ 1,
241
+ [
242
+ 4,
243
+ "10"
244
+ ]
245
+ ]
246
+ },
247
+ "fields": {},
248
+ "shadow": false,
249
+ "topLevel": true,
250
+ "x": 851,
251
+ "y": -409
252
+ },
253
+ "motion_setx": {
254
+ "opcode": "motion_setx",
255
+ "next": null,
256
+ "parent": null,
257
+ "inputs": {
258
+ "X": [
259
+ 1,
260
+ [
261
+ 4,
262
+ "0"
263
+ ]
264
+ ]
265
+ },
266
+ "fields": {},
267
+ "shadow": false,
268
+ "topLevel": true,
269
+ "x": 864,
270
+ "y": -194
271
+ },
272
+ "motion_changeyby": {
273
+ "opcode": "motion_changeyby",
274
+ "next": null,
275
+ "parent": null,
276
+ "inputs": {
277
+ "DY": [
278
+ 1,
279
+ [
280
+ 4,
281
+ "10"
282
+ ]
283
+ ]
284
+ },
285
+ "fields": {},
286
+ "shadow": false,
287
+ "topLevel": true,
288
+ "x": 861,
289
+ "y": -61
290
+ },
291
+ "motion_sety": {
292
+ "opcode": "motion_sety",
293
+ "next": null,
294
+ "parent": null,
295
+ "inputs": {
296
+ "Y": [
297
+ 1,
298
+ [
299
+ 4,
300
+ "0"
301
+ ]
302
+ ]
303
+ },
304
+ "fields": {},
305
+ "shadow": false,
306
+ "topLevel": true,
307
+ "x": 864,
308
+ "y": 66
309
+ },
310
+ "motion_ifonedgebounce": {
311
+ "opcode": "motion_ifonedgebounce",
312
+ "next": null,
313
+ "parent": null,
314
+ "inputs": {},
315
+ "fields": {},
316
+ "shadow": false,
317
+ "topLevel": true,
318
+ "x": 1131,
319
+ "y": -397
320
+ },
321
+ "motion_setrotationstyle": {
322
+ "opcode": "motion_setrotationstyle",
323
+ "next": null,
324
+ "parent": null,
325
+ "inputs": {},
326
+ "fields": {
327
+ "STYLE": [
328
+ "left-right",
329
+ null
330
+ ]
331
+ },
332
+ "shadow": false,
333
+ "topLevel": true,
334
+ "x": 1128,
335
+ "y": -287
336
+ },
337
+ "motion_xposition": {
338
+ "opcode": "motion_xposition",
339
+ "next": null,
340
+ "parent": null,
341
+ "inputs": {},
342
+ "fields": {},
343
+ "shadow": false,
344
+ "topLevel": true,
345
+ "x": 1193,
346
+ "y": -136
347
+ },
348
+ "motion_yposition": {
349
+ "opcode": "motion_yposition",
350
+ "next": null,
351
+ "parent": null,
352
+ "inputs": {},
353
+ "fields": {},
354
+ "shadow": false,
355
+ "topLevel": true,
356
+ "x": 1181,
357
+ "y": -64
358
+ },
359
+ "motion_direction": {
360
+ "opcode": "motion_direction",
361
+ "next": null,
362
+ "parent": null,
363
+ "inputs": {},
364
+ "fields": {},
365
+ "shadow": false,
366
+ "topLevel": true,
367
+ "x": 1188,
368
+ "y": 21
369
+ },
370
+ "control_wait": {
371
+ "opcode": "control_wait",
372
+ "next": null,
373
+ "parent": null,
374
+ "inputs": {
375
+ "DURATION": [
376
+ 1,
377
+ [
378
+ 5,
379
+ "1"
380
+ ]
381
+ ]
382
+ },
383
+ "fields": {},
384
+ "shadow": false,
385
+ "topLevel": true,
386
+ "x": 337,
387
+ "y": 129
388
+ },
389
+ "control_repeat": {
390
+ "opcode": "control_repeat",
391
+ "next": null,
392
+ "parent": null,
393
+ "inputs": {
394
+ "TIMES": [
395
+ 1,
396
+ [
397
+ 6,
398
+ "10"
399
+ ]
400
+ ]
401
+ },
402
+ "fields": {},
403
+ "shadow": false,
404
+ "topLevel": true,
405
+ "x": 348,
406
+ "y": 265
407
+ },
408
+ "control_forever": {
409
+ "opcode": "control_forever",
410
+ "next": null,
411
+ "parent": null,
412
+ "inputs": {},
413
+ "fields": {},
414
+ "shadow": false,
415
+ "topLevel": true,
416
+ "x": 334,
417
+ "y": 439
418
+ },
419
+ "control_if": {
420
+ "opcode": "control_if",
421
+ "next": null,
422
+ "parent": null,
423
+ "inputs": {},
424
+ "fields": {},
425
+ "shadow": false,
426
+ "topLevel": true,
427
+ "x": 331,
428
+ "y": 597
429
+ },
430
+ "control_if_else": {
431
+ "opcode": "control_if_else",
432
+ "next": null,
433
+ "parent": null,
434
+ "inputs": {},
435
+ "fields": {},
436
+ "shadow": false,
437
+ "topLevel": true,
438
+ "x": 335,
439
+ "y": 779
440
+ },
441
+ "control_wait_until": {
442
+ "opcode": "control_wait_until",
443
+ "next": null,
444
+ "parent": null,
445
+ "inputs": {},
446
+ "fields": {},
447
+ "shadow": false,
448
+ "topLevel": true,
449
+ "x": 676,
450
+ "y": 285
451
+ },
452
+ "control_repeat_until": {
453
+ "opcode": "control_repeat_until",
454
+ "next": null,
455
+ "parent": null,
456
+ "inputs": {},
457
+ "fields": {},
458
+ "shadow": false,
459
+ "topLevel": true,
460
+ "x": 692,
461
+ "y": 381
462
+ },
463
+ "control_stop": {
464
+ "opcode": "control_stop",
465
+ "next": null,
466
+ "parent": null,
467
+ "inputs": {},
468
+ "fields": {
469
+ "STOP_OPTION": [
470
+ "all",
471
+ null
472
+ ]
473
+ },
474
+ "shadow": false,
475
+ "topLevel": true,
476
+ "x": 708,
477
+ "y": 545,
478
+ "mutation": {
479
+ "tagName": "mutation",
480
+ "children": [],
481
+ "hasnext": "false"
482
+ }
483
+ },
484
+ "control_start_as_clone": {
485
+ "opcode": "control_start_as_clone",
486
+ "next": null,
487
+ "parent": null,
488
+ "inputs": {},
489
+ "fields": {},
490
+ "shadow": false,
491
+ "topLevel": true,
492
+ "x": 665,
493
+ "y": 672
494
+ },
495
+ "control_create_clone_of": {
496
+ "opcode": "control_create_clone_of",
497
+ "next": null,
498
+ "parent": null,
499
+ "inputs": {
500
+ "CLONE_OPTION": [
501
+ 1,
502
+ "t))DW9(QSKB]3C/3Ou+J"
503
+ ]
504
+ },
505
+ "fields": {},
506
+ "shadow": false,
507
+ "topLevel": true,
508
+ "x": 648,
509
+ "y": 797
510
+ },
511
+ "control_create_clone_of_menu": {
512
+ "opcode": "control_create_clone_of_menu",
513
+ "next": null,
514
+ "parent": "80yo/}Cw++Z.;x[ohh|7",
515
+ "inputs": {},
516
+ "fields": {
517
+ "CLONE_OPTION": [
518
+ "_myself_",
519
+ null
520
+ ]
521
+ },
522
+ "shadow": true,
523
+ "topLevel": false
524
+ },
525
+ "control_delete_this_clone": {
526
+ "opcode": "control_delete_this_clone",
527
+ "next": null,
528
+ "parent": null,
529
+ "inputs": {},
530
+ "fields": {},
531
+ "shadow": false,
532
+ "topLevel": true,
533
+ "x": 642,
534
+ "y": 914
535
+ },
536
+ "event_whenflagclicked": {
537
+ "opcode": "event_whenflagclicked",
538
+ "next": null,
539
+ "parent": null,
540
+ "inputs": {},
541
+ "fields": {},
542
+ "shadow": false,
543
+ "topLevel": true,
544
+ "x": 166,
545
+ "y": -422
546
+ },
547
+ "event_whenkeypressed": {
548
+ "opcode": "event_whenkeypressed",
549
+ "next": null,
550
+ "parent": null,
551
+ "inputs": {},
552
+ "fields": {
553
+ "KEY_OPTION": [
554
+ "space",
555
+ null
556
+ ]
557
+ },
558
+ "shadow": false,
559
+ "topLevel": true,
560
+ "x": 151,
561
+ "y": -329
562
+ },
563
+ "event_whenthisspriteclicked": {
564
+ "opcode": "event_whenthisspriteclicked",
565
+ "next": null,
566
+ "parent": null,
567
+ "inputs": {},
568
+ "fields": {},
569
+ "shadow": false,
570
+ "topLevel": true,
571
+ "x": 156,
572
+ "y": -223
573
+ },
574
+ "event_whenbackdropswitchesto": {
575
+ "opcode": "event_whenbackdropswitchesto",
576
+ "next": null,
577
+ "parent": null,
578
+ "inputs": {},
579
+ "fields": {
580
+ "BACKDROP": [
581
+ "backdrop1",
582
+ null
583
+ ]
584
+ },
585
+ "shadow": false,
586
+ "topLevel": true,
587
+ "x": 148,
588
+ "y": -101
589
+ },
590
+ "event_whengreaterthan": {
591
+ "opcode": "event_whengreaterthan",
592
+ "next": null,
593
+ "parent": null,
594
+ "inputs": {
595
+ "VALUE": [
596
+ 1,
597
+ [
598
+ 4,
599
+ "10"
600
+ ]
601
+ ]
602
+ },
603
+ "fields": {
604
+ "WHENGREATERTHANMENU": [
605
+ "LOUDNESS",
606
+ null
607
+ ]
608
+ },
609
+ "shadow": false,
610
+ "topLevel": true,
611
+ "x": 150,
612
+ "y": 10
613
+ },
614
+ "event_whenbroadcastreceived": {
615
+ "opcode": "event_whenbroadcastreceived",
616
+ "next": null,
617
+ "parent": null,
618
+ "inputs": {},
619
+ "fields": {
620
+ "BROADCAST_OPTION": [
621
+ "message1",
622
+ "5O!nei;S$!c!=hCT}0:a"
623
+ ]
624
+ },
625
+ "shadow": false,
626
+ "topLevel": true,
627
+ "x": 141,
628
+ "y": 118
629
+ },
630
+ "event_broadcast": {
631
+ "opcode": "event_broadcast",
632
+ "next": null,
633
+ "parent": null,
634
+ "inputs": {
635
+ "BROADCAST_INPUT": [
636
+ 1,
637
+ [
638
+ 11,
639
+ "message1",
640
+ "5O!nei;S$!c!=hCT}0:a"
641
+ ]
642
+ ]
643
+ },
644
+ "fields": {},
645
+ "shadow": false,
646
+ "topLevel": true,
647
+ "x": 151,
648
+ "y": 229
649
+ },
650
+ "event_broadcastandwait": {
651
+ "opcode": "event_broadcastandwait",
652
+ "next": null,
653
+ "parent": null,
654
+ "inputs": {
655
+ "BROADCAST_INPUT": [
656
+ 1,
657
+ [
658
+ 11,
659
+ "message1",
660
+ "5O!nei;S$!c!=hCT}0:a"
661
+ ]
662
+ ]
663
+ },
664
+ "fields": {},
665
+ "shadow": false,
666
+ "topLevel": true,
667
+ "x": 157,
668
+ "y": 340
669
+ },
670
+ "sensing_touchingobject": {
671
+ "opcode": "sensing_touchingobject",
672
+ "next": null,
673
+ "parent": null,
674
+ "inputs": {
675
+ "TOUCHINGOBJECTMENU": [
676
+ 1,
677
+ "xSKW9a+wTnM~h~So8Jc]"
678
+ ]
679
+ },
680
+ "fields": {},
681
+ "shadow": false,
682
+ "topLevel": true,
683
+ "x": 359,
684
+ "y": 116
685
+ },
686
+ "sensing_touchingobjectmenu": {
687
+ "opcode": "sensing_touchingobjectmenu",
688
+ "next": null,
689
+ "parent": "Y(n,F@BYzwd4CiN|Bh[P",
690
+ "inputs": {},
691
+ "fields": {
692
+ "TOUCHINGOBJECTMENU": [
693
+ "_mouse_",
694
+ null
695
+ ]
696
+ },
697
+ "shadow": true,
698
+ "topLevel": false
699
+ },
700
+ "sensing_touchingcolor": {
701
+ "opcode": "sensing_touchingcolor",
702
+ "next": null,
703
+ "parent": null,
704
+ "inputs": {
705
+ "COLOR": [
706
+ 1,
707
+ [
708
+ 9,
709
+ "#55b888"
710
+ ]
711
+ ]
712
+ },
713
+ "fields": {},
714
+ "shadow": false,
715
+ "topLevel": true,
716
+ "x": 360,
717
+ "y": 188
718
+ },
719
+ "sensing_coloristouchingcolor": {
720
+ "opcode": "sensing_coloristouchingcolor",
721
+ "next": null,
722
+ "parent": null,
723
+ "inputs": {
724
+ "COLOR": [
725
+ 1,
726
+ [
727
+ 9,
728
+ "#d019f2"
729
+ ]
730
+ ],
731
+ "COLOR2": [
732
+ 1,
733
+ [
734
+ 9,
735
+ "#2b0de3"
736
+ ]
737
+ ]
738
+ },
739
+ "fields": {},
740
+ "shadow": false,
741
+ "topLevel": true,
742
+ "x": 348,
743
+ "y": 277
744
+ },
745
+ "sensing_askandwait": {
746
+ "opcode": "sensing_askandwait",
747
+ "next": null,
748
+ "parent": null,
749
+ "inputs": {
750
+ "QUESTION": [
751
+ 1,
752
+ [
753
+ 10,
754
+ "What's your name?"
755
+ ]
756
+ ]
757
+ },
758
+ "fields": {},
759
+ "shadow": false,
760
+ "topLevel": true,
761
+ "x": 338,
762
+ "y": 354
763
+ },
764
+ "sensing_answer": {
765
+ "opcode": "sensing_answer",
766
+ "next": null,
767
+ "parent": null,
768
+ "inputs": {},
769
+ "fields": {},
770
+ "shadow": false,
771
+ "topLevel": true,
772
+ "x": 782,
773
+ "y": 111
774
+ },
775
+ "sensing_keypressed": {
776
+ "opcode": "sensing_keypressed",
777
+ "next": null,
778
+ "parent": null,
779
+ "inputs": {
780
+ "KEY_OPTION": [
781
+ 1,
782
+ "SNlf@Im$sv%.6ULi-f3i"
783
+ ]
784
+ },
785
+ "fields": {},
786
+ "shadow": false,
787
+ "topLevel": true,
788
+ "x": 762,
789
+ "y": 207
790
+ },
791
+ "sensing_keyoptions": {
792
+ "opcode": "sensing_keyoptions",
793
+ "next": null,
794
+ "parent": "7$xEUO.2hH2R6vh!$(Uj",
795
+ "inputs": {},
796
+ "fields": {
797
+ "KEY_OPTION": [
798
+ "space",
799
+ null
800
+ ]
801
+ },
802
+ "shadow": true,
803
+ "topLevel": false
804
+ },
805
+ "sensing_mousedown": {
806
+ "opcode": "sensing_mousedown",
807
+ "next": null,
808
+ "parent": null,
809
+ "inputs": {},
810
+ "fields": {},
811
+ "shadow": false,
812
+ "topLevel": true,
813
+ "x": 822,
814
+ "y": 422
815
+ },
816
+ "sensing_mousex": {
817
+ "opcode": "sensing_mousex",
818
+ "next": null,
819
+ "parent": null,
820
+ "inputs": {},
821
+ "fields": {},
822
+ "shadow": false,
823
+ "topLevel": true,
824
+ "x": 302,
825
+ "y": 528
826
+ },
827
+ "sensing_mousey": {
828
+ "opcode": "sensing_mousey",
829
+ "next": null,
830
+ "parent": null,
831
+ "inputs": {},
832
+ "fields": {},
833
+ "shadow": false,
834
+ "topLevel": true,
835
+ "x": 668,
836
+ "y": 547
837
+ },
838
+ "sensing_setdragmode": {
839
+ "opcode": "sensing_setdragmode",
840
+ "next": null,
841
+ "parent": null,
842
+ "inputs": {},
843
+ "fields": {
844
+ "DRAG_MODE": [
845
+ "draggable",
846
+ null
847
+ ]
848
+ },
849
+ "shadow": false,
850
+ "topLevel": true,
851
+ "x": 950,
852
+ "y": 574
853
+ },
854
+ "sensing_loudness": {
855
+ "opcode": "sensing_loudness",
856
+ "next": null,
857
+ "parent": null,
858
+ "inputs": {},
859
+ "fields": {},
860
+ "shadow": false,
861
+ "topLevel": true,
862
+ "x": 658,
863
+ "y": 703
864
+ },
865
+ "sensing_timer": {
866
+ "opcode": "sensing_timer",
867
+ "next": null,
868
+ "parent": null,
869
+ "inputs": {},
870
+ "fields": {},
871
+ "shadow": false,
872
+ "topLevel": true,
873
+ "x": 459,
874
+ "y": 671
875
+ },
876
+ "sensing_resettimer": {
877
+ "opcode": "sensing_resettimer",
878
+ "next": null,
879
+ "parent": null,
880
+ "inputs": {},
881
+ "fields": {},
882
+ "shadow": false,
883
+ "topLevel": true,
884
+ "x": 462,
885
+ "y": 781
886
+ },
887
+ "sensing_of": {
888
+ "opcode": "sensing_of",
889
+ "next": null,
890
+ "parent": null,
891
+ "inputs": {
892
+ "OBJECT": [
893
+ 1,
894
+ "t+o*y;iz,!O#aT|qM_+O"
895
+ ]
896
+ },
897
+ "fields": {
898
+ "PROPERTY": [
899
+ "backdrop #",
900
+ null
901
+ ]
902
+ },
903
+ "shadow": false,
904
+ "topLevel": true,
905
+ "x": 997,
906
+ "y": 754
907
+ },
908
+ "sensing_of_object_menu": {
909
+ "opcode": "sensing_of_object_menu",
910
+ "next": null,
911
+ "parent": "[4I2wIG/tNc@LQ-;FbsB",
912
+ "inputs": {},
913
+ "fields": {
914
+ "OBJECT": [
915
+ "_stage_",
916
+ null
917
+ ]
918
+ },
919
+ "shadow": true,
920
+ "topLevel": false
921
+ },
922
+ "sensing_current": {
923
+ "opcode": "sensing_current",
924
+ "next": null,
925
+ "parent": null,
926
+ "inputs": {},
927
+ "fields": {
928
+ "CURRENTMENU": [
929
+ "YEAR",
930
+ null
931
+ ]
932
+ },
933
+ "shadow": false,
934
+ "topLevel": true,
935
+ "x": 627,
936
+ "y": 884
937
+ },
938
+ "sensing_dayssince2000": {
939
+ "opcode": "sensing_dayssince2000",
940
+ "next": null,
941
+ "parent": null,
942
+ "inputs": {},
943
+ "fields": {},
944
+ "shadow": false,
945
+ "topLevel": true,
946
+ "x": 959,
947
+ "y": 903
948
+ },
949
+ "sensing_username": {
950
+ "opcode": "sensing_username",
951
+ "next": null,
952
+ "parent": null,
953
+ "inputs": {},
954
+ "fields": {},
955
+ "shadow": false,
956
+ "topLevel": true,
957
+ "x": 833,
958
+ "y": 757
959
+ },
960
+ "operator_add": {
961
+ "opcode": "operator_add",
962
+ "next": null,
963
+ "parent": null,
964
+ "inputs": {
965
+ "NUM1": [
966
+ 1,
967
+ [
968
+ 4,
969
+ ""
970
+ ]
971
+ ],
972
+ "NUM2": [
973
+ 1,
974
+ [
975
+ 4,
976
+ ""
977
+ ]
978
+ ]
979
+ },
980
+ "fields": {},
981
+ "shadow": false,
982
+ "topLevel": true,
983
+ "x": 128,
984
+ "y": 153
985
+ },
986
+ "operator_subtract": {
987
+ "opcode": "operator_subtract",
988
+ "next": null,
989
+ "parent": null,
990
+ "inputs": {
991
+ "NUM1": [
992
+ 1,
993
+ [
994
+ 4,
995
+ ""
996
+ ]
997
+ ],
998
+ "NUM2": [
999
+ 1,
1000
+ [
1001
+ 4,
1002
+ ""
1003
+ ]
1004
+ ]
1005
+ },
1006
+ "fields": {},
1007
+ "shadow": false,
1008
+ "topLevel": true,
1009
+ "x": 134,
1010
+ "y": 214
1011
+ },
1012
+ "operator_multiply": {
1013
+ "opcode": "operator_multiply",
1014
+ "next": null,
1015
+ "parent": null,
1016
+ "inputs": {
1017
+ "NUM1": [
1018
+ 1,
1019
+ [
1020
+ 4,
1021
+ ""
1022
+ ]
1023
+ ],
1024
+ "NUM2": [
1025
+ 1,
1026
+ [
1027
+ 4,
1028
+ ""
1029
+ ]
1030
+ ]
1031
+ },
1032
+ "fields": {},
1033
+ "shadow": false,
1034
+ "topLevel": true,
1035
+ "x": 134,
1036
+ "y": 278
1037
+ },
1038
+ "operator_divide": {
1039
+ "opcode": "operator_divide",
1040
+ "next": null,
1041
+ "parent": null,
1042
+ "inputs": {
1043
+ "NUM1": [
1044
+ 1,
1045
+ [
1046
+ 4,
1047
+ ""
1048
+ ]
1049
+ ],
1050
+ "NUM2": [
1051
+ 1,
1052
+ [
1053
+ 4,
1054
+ ""
1055
+ ]
1056
+ ]
1057
+ },
1058
+ "fields": {},
1059
+ "shadow": false,
1060
+ "topLevel": true,
1061
+ "x": 138,
1062
+ "y": 359
1063
+ },
1064
+ "operator_random": {
1065
+ "opcode": "operator_random",
1066
+ "next": null,
1067
+ "parent": null,
1068
+ "inputs": {
1069
+ "FROM": [
1070
+ 1,
1071
+ [
1072
+ 4,
1073
+ "1"
1074
+ ]
1075
+ ],
1076
+ "TO": [
1077
+ 1,
1078
+ [
1079
+ 4,
1080
+ "10"
1081
+ ]
1082
+ ]
1083
+ },
1084
+ "fields": {},
1085
+ "shadow": false,
1086
+ "topLevel": true,
1087
+ "x": 311,
1088
+ "y": 157
1089
+ },
1090
+ "operator_gt": {
1091
+ "opcode": "operator_gt",
1092
+ "next": null,
1093
+ "parent": null,
1094
+ "inputs": {
1095
+ "OPERAND1": [
1096
+ 1,
1097
+ [
1098
+ 10,
1099
+ ""
1100
+ ]
1101
+ ],
1102
+ "OPERAND2": [
1103
+ 1,
1104
+ [
1105
+ 10,
1106
+ "50"
1107
+ ]
1108
+ ]
1109
+ },
1110
+ "fields": {},
1111
+ "shadow": false,
1112
+ "topLevel": true,
1113
+ "x": 348,
1114
+ "y": 217
1115
+ },
1116
+ "operator_lt": {
1117
+ "opcode": "operator_lt",
1118
+ "next": null,
1119
+ "parent": null,
1120
+ "inputs": {
1121
+ "OPERAND1": [
1122
+ 1,
1123
+ [
1124
+ 10,
1125
+ ""
1126
+ ]
1127
+ ],
1128
+ "OPERAND2": [
1129
+ 1,
1130
+ [
1131
+ 10,
1132
+ "50"
1133
+ ]
1134
+ ]
1135
+ },
1136
+ "fields": {},
1137
+ "shadow": false,
1138
+ "topLevel": true,
1139
+ "x": 345,
1140
+ "y": 286
1141
+ },
1142
+ "operator_equals": {
1143
+ "opcode": "operator_equals",
1144
+ "next": null,
1145
+ "parent": null,
1146
+ "inputs": {
1147
+ "OPERAND1": [
1148
+ 1,
1149
+ [
1150
+ 10,
1151
+ ""
1152
+ ]
1153
+ ],
1154
+ "OPERAND2": [
1155
+ 1,
1156
+ [
1157
+ 10,
1158
+ "50"
1159
+ ]
1160
+ ]
1161
+ },
1162
+ "fields": {},
1163
+ "shadow": false,
1164
+ "topLevel": true,
1165
+ "x": 345,
1166
+ "y": 372
1167
+ },
1168
+ "operator_and": {
1169
+ "opcode": "operator_and",
1170
+ "next": null,
1171
+ "parent": null,
1172
+ "inputs": {},
1173
+ "fields": {},
1174
+ "shadow": false,
1175
+ "topLevel": true,
1176
+ "x": 701,
1177
+ "y": 158
1178
+ },
1179
+ "operator_or": {
1180
+ "opcode": "operator_or",
1181
+ "next": null,
1182
+ "parent": null,
1183
+ "inputs": {},
1184
+ "fields": {},
1185
+ "shadow": false,
1186
+ "topLevel": true,
1187
+ "x": 705,
1188
+ "y": 222
1189
+ },
1190
+ "operator_not": {
1191
+ "opcode": "operator_not",
1192
+ "next": null,
1193
+ "parent": null,
1194
+ "inputs": {},
1195
+ "fields": {},
1196
+ "shadow": false,
1197
+ "topLevel": true,
1198
+ "x": 734,
1199
+ "y": 283
1200
+ },
1201
+ "operator_join": {
1202
+ "opcode": "operator_join",
1203
+ "next": null,
1204
+ "parent": null,
1205
+ "inputs": {
1206
+ "STRING1": [
1207
+ 1,
1208
+ [
1209
+ 10,
1210
+ "apple "
1211
+ ]
1212
+ ],
1213
+ "STRING2": [
1214
+ 1,
1215
+ [
1216
+ 10,
1217
+ "banana"
1218
+ ]
1219
+ ]
1220
+ },
1221
+ "fields": {},
1222
+ "shadow": false,
1223
+ "topLevel": true,
1224
+ "x": 663,
1225
+ "y": 378
1226
+ },
1227
+ "operator_letter_of": {
1228
+ "opcode": "operator_letter_of",
1229
+ "next": null,
1230
+ "parent": null,
1231
+ "inputs": {
1232
+ "LETTER": [
1233
+ 1,
1234
+ [
1235
+ 6,
1236
+ "1"
1237
+ ]
1238
+ ],
1239
+ "STRING": [
1240
+ 1,
1241
+ [
1242
+ 10,
1243
+ "apple"
1244
+ ]
1245
+ ]
1246
+ },
1247
+ "fields": {},
1248
+ "shadow": false,
1249
+ "topLevel": true,
1250
+ "x": 664,
1251
+ "y": 445
1252
+ },
1253
+ "operator_length": {
1254
+ "opcode": "operator_length",
1255
+ "next": null,
1256
+ "parent": null,
1257
+ "inputs": {
1258
+ "STRING": [
1259
+ 1,
1260
+ [
1261
+ 10,
1262
+ "apple"
1263
+ ]
1264
+ ]
1265
+ },
1266
+ "fields": {},
1267
+ "shadow": false,
1268
+ "topLevel": true,
1269
+ "x": 664,
1270
+ "y": 521
1271
+ },
1272
+ "operator_contains": {
1273
+ "opcode": "operator_contains",
1274
+ "next": null,
1275
+ "parent": null,
1276
+ "inputs": {
1277
+ "STRING1": [
1278
+ 1,
1279
+ [
1280
+ 10,
1281
+ "apple"
1282
+ ]
1283
+ ],
1284
+ "STRING2": [
1285
+ 1,
1286
+ [
1287
+ 10,
1288
+ "a"
1289
+ ]
1290
+ ]
1291
+ },
1292
+ "fields": {},
1293
+ "shadow": false,
1294
+ "topLevel": true,
1295
+ "x": 634,
1296
+ "y": 599
1297
+ },
1298
+ "operator_mod": {
1299
+ "opcode": "operator_mod",
1300
+ "next": null,
1301
+ "parent": null,
1302
+ "inputs": {
1303
+ "NUM1": [
1304
+ 1,
1305
+ [
1306
+ 4,
1307
+ ""
1308
+ ]
1309
+ ],
1310
+ "NUM2": [
1311
+ 1,
1312
+ [
1313
+ 4,
1314
+ ""
1315
+ ]
1316
+ ]
1317
+ },
1318
+ "fields": {},
1319
+ "shadow": false,
1320
+ "topLevel": true,
1321
+ "x": 295,
1322
+ "y": 594
1323
+ },
1324
+ "operator_round": {
1325
+ "opcode": "operator_round",
1326
+ "next": null,
1327
+ "parent": null,
1328
+ "inputs": {
1329
+ "NUM": [
1330
+ 1,
1331
+ [
1332
+ 4,
1333
+ ""
1334
+ ]
1335
+ ]
1336
+ },
1337
+ "fields": {},
1338
+ "shadow": false,
1339
+ "topLevel": true,
1340
+ "x": 307,
1341
+ "y": 674
1342
+ },
1343
+ "operator_mathop": {
1344
+ "opcode": "operator_mathop",
1345
+ "next": null,
1346
+ "parent": null,
1347
+ "inputs": {
1348
+ "NUM": [
1349
+ 1,
1350
+ [
1351
+ 4,
1352
+ ""
1353
+ ]
1354
+ ]
1355
+ },
1356
+ "fields": {
1357
+ "OPERATOR": [
1358
+ "abs",
1359
+ null
1360
+ ]
1361
+ },
1362
+ "shadow": false,
1363
+ "topLevel": true,
1364
+ "x": 280,
1365
+ "y": 754
1366
+ },
1367
+ "data_setvariableto": {
1368
+ "opcode": "data_setvariableto",
1369
+ "next": null,
1370
+ "parent": null,
1371
+ "inputs": {
1372
+ "VALUE": [
1373
+ 1,
1374
+ [
1375
+ 10,
1376
+ "0"
1377
+ ]
1378
+ ]
1379
+ },
1380
+ "fields": {
1381
+ "VARIABLE": [
1382
+ "my variable",
1383
+ "`jEk@4|i[#Fk?(8x)AV.-my variable"
1384
+ ]
1385
+ },
1386
+ "shadow": false,
1387
+ "topLevel": true,
1388
+ "x": 348,
1389
+ "y": 241
1390
+ },
1391
+ "data_changevariableby": {
1392
+ "opcode": "data_changevariableby",
1393
+ "next": null,
1394
+ "parent": null,
1395
+ "inputs": {
1396
+ "VALUE": [
1397
+ 1,
1398
+ [
1399
+ 4,
1400
+ "1"
1401
+ ]
1402
+ ]
1403
+ },
1404
+ "fields": {
1405
+ "VARIABLE": [
1406
+ "my variable",
1407
+ "`jEk@4|i[#Fk?(8x)AV.-my variable"
1408
+ ]
1409
+ },
1410
+ "shadow": false,
1411
+ "topLevel": true,
1412
+ "x": 313,
1413
+ "y": 363
1414
+ },
1415
+ "data_showvariable": {
1416
+ "opcode": "data_showvariable",
1417
+ "next": null,
1418
+ "parent": null,
1419
+ "inputs": {},
1420
+ "fields": {
1421
+ "VARIABLE": [
1422
+ "my variable",
1423
+ "`jEk@4|i[#Fk?(8x)AV.-my variable"
1424
+ ]
1425
+ },
1426
+ "shadow": false,
1427
+ "topLevel": true,
1428
+ "x": 415,
1429
+ "y": 473
1430
+ },
1431
+ "data_hidevariable": {
1432
+ "opcode": "data_hidevariable",
1433
+ "next": null,
1434
+ "parent": null,
1435
+ "inputs": {},
1436
+ "fields": {
1437
+ "VARIABLE": [
1438
+ "my variable",
1439
+ "`jEk@4|i[#Fk?(8x)AV.-my variable"
1440
+ ]
1441
+ },
1442
+ "shadow": false,
1443
+ "topLevel": true,
1444
+ "x": 319,
1445
+ "y": 587
1446
+ },
1447
+ "data_addtolist": {
1448
+ "opcode": "data_addtolist",
1449
+ "next": null,
1450
+ "parent": null,
1451
+ "inputs": {
1452
+ "ITEM": [
1453
+ 1,
1454
+ [
1455
+ 10,
1456
+ "thing"
1457
+ ]
1458
+ ]
1459
+ },
1460
+ "fields": {
1461
+ "LIST": [
1462
+ "MY_LIST",
1463
+ "o6`kIhtT{xWH+rX(5d,A"
1464
+ ]
1465
+ },
1466
+ "shadow": false,
1467
+ "topLevel": true,
1468
+ "x": 385,
1469
+ "y": 109
1470
+ },
1471
+ "data_deleteoflist": {
1472
+ "opcode": "data_deleteoflist",
1473
+ "next": null,
1474
+ "parent": null,
1475
+ "inputs": {
1476
+ "INDEX": [
1477
+ 1,
1478
+ [
1479
+ 7,
1480
+ "1"
1481
+ ]
1482
+ ]
1483
+ },
1484
+ "fields": {
1485
+ "LIST": [
1486
+ "MY_LIST",
1487
+ "o6`kIhtT{xWH+rX(5d,A"
1488
+ ]
1489
+ },
1490
+ "shadow": false,
1491
+ "topLevel": true,
1492
+ "x": 384,
1493
+ "y": 244
1494
+ },
1495
+ "data_deletealloflist": {
1496
+ "opcode": "data_deletealloflist",
1497
+ "next": null,
1498
+ "parent": null,
1499
+ "inputs": {},
1500
+ "fields": {
1501
+ "LIST": [
1502
+ "MY_LIST",
1503
+ "o6`kIhtT{xWH+rX(5d,A"
1504
+ ]
1505
+ },
1506
+ "shadow": false,
1507
+ "topLevel": true,
1508
+ "x": 387,
1509
+ "y": 374
1510
+ },
1511
+ "data_insertatlist": {
1512
+ "opcode": "data_insertatlist",
1513
+ "next": null,
1514
+ "parent": null,
1515
+ "inputs": {
1516
+ "ITEM": [
1517
+ 1,
1518
+ [
1519
+ 10,
1520
+ "thing"
1521
+ ]
1522
+ ],
1523
+ "INDEX": [
1524
+ 1,
1525
+ [
1526
+ 7,
1527
+ "1"
1528
+ ]
1529
+ ]
1530
+ },
1531
+ "fields": {
1532
+ "LIST": [
1533
+ "MY_LIST",
1534
+ "o6`kIhtT{xWH+rX(5d,A"
1535
+ ]
1536
+ },
1537
+ "shadow": false,
1538
+ "topLevel": true,
1539
+ "x": 366,
1540
+ "y": 527
1541
+ },
1542
+ "data_replaceitemoflist": {
1543
+ "opcode": "data_replaceitemoflist",
1544
+ "next": null,
1545
+ "parent": null,
1546
+ "inputs": {
1547
+ "INDEX": [
1548
+ 1,
1549
+ [
1550
+ 7,
1551
+ "1"
1552
+ ]
1553
+ ],
1554
+ "ITEM": [
1555
+ 1,
1556
+ [
1557
+ 10,
1558
+ "thing"
1559
+ ]
1560
+ ]
1561
+ },
1562
+ "fields": {
1563
+ "LIST": [
1564
+ "MY_LIST",
1565
+ "o6`kIhtT{xWH+rX(5d,A"
1566
+ ]
1567
+ },
1568
+ "shadow": false,
1569
+ "topLevel": true,
1570
+ "x": 365,
1571
+ "y": 657
1572
+ },
1573
+ "data_itemoflist": {
1574
+ "opcode": "data_itemoflist",
1575
+ "next": null,
1576
+ "parent": null,
1577
+ "inputs": {
1578
+ "INDEX": [
1579
+ 1,
1580
+ [
1581
+ 7,
1582
+ "1"
1583
+ ]
1584
+ ]
1585
+ },
1586
+ "fields": {
1587
+ "LIST": [
1588
+ "MY_LIST",
1589
+ "o6`kIhtT{xWH+rX(5d,A"
1590
+ ]
1591
+ },
1592
+ "shadow": false,
1593
+ "topLevel": true,
1594
+ "x": 862,
1595
+ "y": 117
1596
+ },
1597
+ "data_itemnumoflist": {
1598
+ "opcode": "data_itemnumoflist",
1599
+ "next": null,
1600
+ "parent": null,
1601
+ "inputs": {
1602
+ "ITEM": [
1603
+ 1,
1604
+ [
1605
+ 10,
1606
+ "thing"
1607
+ ]
1608
+ ]
1609
+ },
1610
+ "fields": {
1611
+ "LIST": [
1612
+ "MY_LIST",
1613
+ "o6`kIhtT{xWH+rX(5d,A"
1614
+ ]
1615
+ },
1616
+ "shadow": false,
1617
+ "topLevel": true,
1618
+ "x": 883,
1619
+ "y": 238
1620
+ },
1621
+ "data_lengthoflist": {
1622
+ "opcode": "data_lengthoflist",
1623
+ "next": null,
1624
+ "parent": null,
1625
+ "inputs": {},
1626
+ "fields": {
1627
+ "LIST": [
1628
+ "MY_LIST",
1629
+ "o6`kIhtT{xWH+rX(5d,A"
1630
+ ]
1631
+ },
1632
+ "shadow": false,
1633
+ "topLevel": true,
1634
+ "x": 876,
1635
+ "y": 342
1636
+ },
1637
+ "data_listcontainsitem": {
1638
+ "opcode": "data_listcontainsitem",
1639
+ "next": null,
1640
+ "parent": null,
1641
+ "inputs": {
1642
+ "ITEM": [
1643
+ 1,
1644
+ [
1645
+ 10,
1646
+ "thing"
1647
+ ]
1648
+ ]
1649
+ },
1650
+ "fields": {
1651
+ "LIST": [
1652
+ "MY_LIST",
1653
+ "o6`kIhtT{xWH+rX(5d,A"
1654
+ ]
1655
+ },
1656
+ "shadow": false,
1657
+ "topLevel": true,
1658
+ "x": 871,
1659
+ "y": 463
1660
+ },
1661
+ "data_showlist": {
1662
+ "opcode": "data_showlist",
1663
+ "next": null,
1664
+ "parent": null,
1665
+ "inputs": {},
1666
+ "fields": {
1667
+ "LIST": [
1668
+ "MY_LIST",
1669
+ "o6`kIhtT{xWH+rX(5d,A"
1670
+ ]
1671
+ },
1672
+ "shadow": false,
1673
+ "topLevel": true,
1674
+ "x": 931,
1675
+ "y": 563
1676
+ },
1677
+ "data_hidelist": {
1678
+ "opcode": "data_hidelist",
1679
+ "next": null,
1680
+ "parent": null,
1681
+ "inputs": {},
1682
+ "fields": {
1683
+ "LIST": [
1684
+ "MY_LIST",
1685
+ "o6`kIhtT{xWH+rX(5d,A"
1686
+ ]
1687
+ },
1688
+ "shadow": false,
1689
+ "topLevel": true,
1690
+ "x": 962,
1691
+ "y": 716
1692
+ },
1693
+ "sound_playuntildone": {
1694
+ "opcode": "sound_playuntildone",
1695
+ "next": null,
1696
+ "parent": null,
1697
+ "inputs": {
1698
+ "SOUND_MENU": [
1699
+ 1,
1700
+ "4w%pR8G.yD%g-BwCj=uK"
1701
+ ]
1702
+ },
1703
+ "fields": {},
1704
+ "shadow": false,
1705
+ "topLevel": true,
1706
+ "x": 253,
1707
+ "y": 17
1708
+ },
1709
+ "sound_sounds_menu": {
1710
+ "opcode": "sound_sounds_menu",
1711
+ "next": null,
1712
+ "parent": "Pdc$U;s8e_uUfTX`}jOo",
1713
+ "inputs": {},
1714
+ "fields": {
1715
+ "SOUND_MENU": [
1716
+ "Meow",
1717
+ null
1718
+ ]
1719
+ },
1720
+ "shadow": true,
1721
+ "topLevel": false
1722
+ },
1723
+ "sound_play": {
1724
+ "opcode": "sound_play",
1725
+ "next": null,
1726
+ "parent": null,
1727
+ "inputs": {
1728
+ "SOUND_MENU": [
1729
+ 1,
1730
+ "i1U{^VHb*2`9?l}=:L)/"
1731
+ ]
1732
+ },
1733
+ "fields": {},
1734
+ "shadow": false,
1735
+ "topLevel": true,
1736
+ "x": 245,
1737
+ "y": 122
1738
+ },
1739
+ "sound_stopallsounds": {
1740
+ "opcode": "sound_stopallsounds",
1741
+ "next": null,
1742
+ "parent": null,
1743
+ "inputs": {},
1744
+ "fields": {},
1745
+ "shadow": false,
1746
+ "topLevel": true,
1747
+ "x": 253,
1748
+ "y": 245
1749
+ },
1750
+ "sound_changeeffectby": {
1751
+ "opcode": "sound_changeeffectby",
1752
+ "next": null,
1753
+ "parent": null,
1754
+ "inputs": {
1755
+ "VALUE": [
1756
+ 1,
1757
+ [
1758
+ 4,
1759
+ "10"
1760
+ ]
1761
+ ]
1762
+ },
1763
+ "fields": {
1764
+ "EFFECT": [
1765
+ "PITCH",
1766
+ null
1767
+ ]
1768
+ },
1769
+ "shadow": false,
1770
+ "topLevel": true,
1771
+ "x": 653,
1772
+ "y": 14
1773
+ },
1774
+ "sound_seteffectto": {
1775
+ "opcode": "sound_seteffectto",
1776
+ "next": null,
1777
+ "parent": null,
1778
+ "inputs": {
1779
+ "VALUE": [
1780
+ 1,
1781
+ [
1782
+ 4,
1783
+ "100"
1784
+ ]
1785
+ ]
1786
+ },
1787
+ "fields": {
1788
+ "EFFECT": [
1789
+ "PITCH",
1790
+ null
1791
+ ]
1792
+ },
1793
+ "shadow": false,
1794
+ "topLevel": true,
1795
+ "x": 653,
1796
+ "y": 139
1797
+ },
1798
+ "sound_cleareffects": {
1799
+ "opcode": "sound_cleareffects",
1800
+ "next": null,
1801
+ "parent": null,
1802
+ "inputs": {},
1803
+ "fields": {},
1804
+ "shadow": false,
1805
+ "topLevel": true,
1806
+ "x": 651,
1807
+ "y": 242
1808
+ },
1809
+ "sound_changevolumeby": {
1810
+ "opcode": "sound_changevolumeby",
1811
+ "next": null,
1812
+ "parent": null,
1813
+ "inputs": {
1814
+ "VOLUME": [
1815
+ 1,
1816
+ [
1817
+ 4,
1818
+ "-10"
1819
+ ]
1820
+ ]
1821
+ },
1822
+ "fields": {},
1823
+ "shadow": false,
1824
+ "topLevel": true,
1825
+ "x": 645,
1826
+ "y": 353
1827
+ },
1828
+ "sound_setvolumeto": {
1829
+ "opcode": "sound_setvolumeto",
1830
+ "next": null,
1831
+ "parent": null,
1832
+ "inputs": {
1833
+ "VOLUME": [
1834
+ 1,
1835
+ [
1836
+ 4,
1837
+ "100"
1838
+ ]
1839
+ ]
1840
+ },
1841
+ "fields": {},
1842
+ "shadow": false,
1843
+ "topLevel": true,
1844
+ "x": 1108,
1845
+ "y": 5
1846
+ },
1847
+ "sound_volume": {
1848
+ "opcode": "sound_volume",
1849
+ "next": null,
1850
+ "parent": null,
1851
+ "inputs": {},
1852
+ "fields": {},
1853
+ "shadow": false,
1854
+ "topLevel": true,
1855
+ "x": 1136,
1856
+ "y": 123
1857
+ },
1858
+ "looks_sayforsecs": {
1859
+ "opcode": "looks_sayforsecs",
1860
+ "next": null,
1861
+ "parent": null,
1862
+ "inputs": {
1863
+ "MESSAGE": [
1864
+ 1,
1865
+ [
1866
+ 10,
1867
+ "Hello!"
1868
+ ]
1869
+ ],
1870
+ "SECS": [
1871
+ 1,
1872
+ [
1873
+ 4,
1874
+ "2"
1875
+ ]
1876
+ ]
1877
+ },
1878
+ "fields": {},
1879
+ "shadow": false,
1880
+ "topLevel": true,
1881
+ "x": 408,
1882
+ "y": 91
1883
+ },
1884
+ "looks_say": {
1885
+ "opcode": "looks_say",
1886
+ "next": null,
1887
+ "parent": null,
1888
+ "inputs": {
1889
+ "MESSAGE": [
1890
+ 1,
1891
+ [
1892
+ 10,
1893
+ "Hello!"
1894
+ ]
1895
+ ]
1896
+ },
1897
+ "fields": {},
1898
+ "shadow": false,
1899
+ "topLevel": true,
1900
+ "x": 413,
1901
+ "y": 213
1902
+ },
1903
+ "looks_thinkforsecs": {
1904
+ "opcode": "looks_thinkforsecs",
1905
+ "next": null,
1906
+ "parent": null,
1907
+ "inputs": {
1908
+ "MESSAGE": [
1909
+ 1,
1910
+ [
1911
+ 10,
1912
+ "Hmm..."
1913
+ ]
1914
+ ],
1915
+ "SECS": [
1916
+ 1,
1917
+ [
1918
+ 4,
1919
+ "2"
1920
+ ]
1921
+ ]
1922
+ },
1923
+ "fields": {},
1924
+ "shadow": false,
1925
+ "topLevel": true,
1926
+ "x": 413,
1927
+ "y": 317
1928
+ },
1929
+ "looks_think": {
1930
+ "opcode": "looks_think",
1931
+ "next": null,
1932
+ "parent": null,
1933
+ "inputs": {
1934
+ "MESSAGE": [
1935
+ 1,
1936
+ [
1937
+ 10,
1938
+ "Hmm..."
1939
+ ]
1940
+ ]
1941
+ },
1942
+ "fields": {},
1943
+ "shadow": false,
1944
+ "topLevel": true,
1945
+ "x": 412,
1946
+ "y": 432
1947
+ },
1948
+ "looks_switchcostumeto": {
1949
+ "opcode": "looks_switchcostumeto",
1950
+ "next": null,
1951
+ "parent": null,
1952
+ "inputs": {
1953
+ "COSTUME": [
1954
+ 1,
1955
+ "8;bti4wv(iH9nkOacCJ|"
1956
+ ]
1957
+ },
1958
+ "fields": {},
1959
+ "shadow": false,
1960
+ "topLevel": true,
1961
+ "x": 411,
1962
+ "y": 555
1963
+ },
1964
+ "looks_costume": {
1965
+ "opcode": "looks_costume",
1966
+ "next": null,
1967
+ "parent": "Q#a,6LPWHqo9-0Nu*[SV",
1968
+ "inputs": {},
1969
+ "fields": {
1970
+ "COSTUME": [
1971
+ "costume2",
1972
+ null
1973
+ ]
1974
+ },
1975
+ "shadow": true,
1976
+ "topLevel": false
1977
+ },
1978
+ "looks_nextcostume": {
1979
+ "opcode": "looks_nextcostume",
1980
+ "next": null,
1981
+ "parent": null,
1982
+ "inputs": {},
1983
+ "fields": {},
1984
+ "shadow": false,
1985
+ "topLevel": true,
1986
+ "x": 419,
1987
+ "y": 687
1988
+ },
1989
+ "looks_switchbackdropto": {
1990
+ "opcode": "looks_switchbackdropto",
1991
+ "next": null,
1992
+ "parent": null,
1993
+ "inputs": {
1994
+ "BACKDROP": [
1995
+ 1,
1996
+ "-?yeX}29V*wd6W:unW0i"
1997
+ ]
1998
+ },
1999
+ "fields": {},
2000
+ "shadow": false,
2001
+ "topLevel": true,
2002
+ "x": 901,
2003
+ "y": 91
2004
+ },
2005
+ "looks_backdrops": {
2006
+ "opcode": "looks_backdrops",
2007
+ "next": null,
2008
+ "parent": "`Wm^p~l[(IWzc1|wNv*.",
2009
+ "inputs": {},
2010
+ "fields": {
2011
+ "BACKDROP": [
2012
+ "backdrop1",
2013
+ null
2014
+ ]
2015
+ },
2016
+ "shadow": true,
2017
+ "topLevel": false
2018
+ },
2019
+ "looks_changesizeby": {
2020
+ "opcode": "looks_changesizeby",
2021
+ "next": null,
2022
+ "parent": null,
2023
+ "inputs": {
2024
+ "CHANGE": [
2025
+ 1,
2026
+ [
2027
+ 4,
2028
+ "10"
2029
+ ]
2030
+ ]
2031
+ },
2032
+ "fields": {},
2033
+ "shadow": false,
2034
+ "topLevel": true,
2035
+ "x": 895,
2036
+ "y": 192
2037
+ },
2038
+ "looks_setsizeto": {
2039
+ "opcode": "looks_setsizeto",
2040
+ "next": null,
2041
+ "parent": null,
2042
+ "inputs": {
2043
+ "SIZE": [
2044
+ 1,
2045
+ [
2046
+ 4,
2047
+ "100"
2048
+ ]
2049
+ ]
2050
+ },
2051
+ "fields": {},
2052
+ "shadow": false,
2053
+ "topLevel": true,
2054
+ "x": 896,
2055
+ "y": 303
2056
+ },
2057
+ "looks_changeeffectby": {
2058
+ "opcode": "looks_changeeffectby",
2059
+ "next": null,
2060
+ "parent": null,
2061
+ "inputs": {
2062
+ "CHANGE": [
2063
+ 1,
2064
+ [
2065
+ 4,
2066
+ "25"
2067
+ ]
2068
+ ]
2069
+ },
2070
+ "fields": {
2071
+ "EFFECT": [
2072
+ "COLOR",
2073
+ null
2074
+ ]
2075
+ },
2076
+ "shadow": false,
2077
+ "topLevel": true,
2078
+ "x": 892,
2079
+ "y": 416
2080
+ },
2081
+ "looks_seteffectto": {
2082
+ "opcode": "looks_seteffectto",
2083
+ "next": null,
2084
+ "parent": null,
2085
+ "inputs": {
2086
+ "VALUE": [
2087
+ 1,
2088
+ [
2089
+ 4,
2090
+ "0"
2091
+ ]
2092
+ ]
2093
+ },
2094
+ "fields": {
2095
+ "EFFECT": [
2096
+ "COLOR",
2097
+ null
2098
+ ]
2099
+ },
2100
+ "shadow": false,
2101
+ "topLevel": true,
2102
+ "x": 902,
2103
+ "y": 527
2104
+ },
2105
+ "looks_cleargraphiceffects": {
2106
+ "opcode": "looks_cleargraphiceffects",
2107
+ "next": null,
2108
+ "parent": null,
2109
+ "inputs": {},
2110
+ "fields": {},
2111
+ "shadow": false,
2112
+ "topLevel": true,
2113
+ "x": 902,
2114
+ "y": 638
2115
+ },
2116
+ "looks_show": {
2117
+ "opcode": "looks_show",
2118
+ "next": null,
2119
+ "parent": null,
2120
+ "inputs": {},
2121
+ "fields": {},
2122
+ "shadow": false,
2123
+ "topLevel": true,
2124
+ "x": 908,
2125
+ "y": 758
2126
+ },
2127
+ "looks_hide": {
2128
+ "opcode": "looks_hide",
2129
+ "next": null,
2130
+ "parent": null,
2131
+ "inputs": {},
2132
+ "fields": {},
2133
+ "shadow": false,
2134
+ "topLevel": true,
2135
+ "x": 455,
2136
+ "y": 861
2137
+ },
2138
+ "looks_gotofrontback": {
2139
+ "opcode": "looks_gotofrontback",
2140
+ "next": null,
2141
+ "parent": null,
2142
+ "inputs": {},
2143
+ "fields": {
2144
+ "FRONT_BACK": [
2145
+ "front",
2146
+ null
2147
+ ]
2148
+ },
2149
+ "shadow": false,
2150
+ "topLevel": true,
2151
+ "x": 853,
2152
+ "y": 878
2153
+ },
2154
+ "looks_goforwardbackwardlayers": {
2155
+ "opcode": "looks_goforwardbackwardlayers",
2156
+ "next": null,
2157
+ "parent": null,
2158
+ "inputs": {
2159
+ "NUM": [
2160
+ 1,
2161
+ [
2162
+ 7,
2163
+ "1"
2164
+ ]
2165
+ ]
2166
+ },
2167
+ "fields": {
2168
+ "FORWARD_BACKWARD": [
2169
+ "forward",
2170
+ null
2171
+ ]
2172
+ },
2173
+ "shadow": false,
2174
+ "topLevel": true,
2175
+ "x": 851,
2176
+ "y": 999
2177
+ },
2178
+ "looks_costumenumbername": {
2179
+ "opcode": "looks_costumenumbername",
2180
+ "next": null,
2181
+ "parent": null,
2182
+ "inputs": {},
2183
+ "fields": {
2184
+ "NUMBER_NAME": [
2185
+ "number",
2186
+ null
2187
+ ]
2188
+ },
2189
+ "shadow": false,
2190
+ "topLevel": true,
2191
+ "x": 458,
2192
+ "y": 1007
2193
+ },
2194
+ "looks_backdropnumbername": {
2195
+ "opcode": "looks_backdropnumbername",
2196
+ "next": null,
2197
+ "parent": null,
2198
+ "inputs": {},
2199
+ "fields": {
2200
+ "NUMBER_NAME": [
2201
+ "number",
2202
+ null
2203
+ ]
2204
+ },
2205
+ "shadow": false,
2206
+ "topLevel": true,
2207
+ "x": 1242,
2208
+ "y": 753
2209
+ },
2210
+ "looks_size": {
2211
+ "opcode": "looks_size",
2212
+ "next": null,
2213
+ "parent": null,
2214
+ "inputs": {},
2215
+ "fields": {},
2216
+ "shadow": false,
2217
+ "topLevel": true,
2218
+ "x": 1249,
2219
+ "y": 876
2220
+ }
2221
+ }
blocks/boolean_blocks.json ADDED
@@ -0,0 +1,277 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "block_category": "Boolean Blocks",
3
+ "description": "Boolean blocks are hexagonal in shape. They represent conditions that evaluate to either 'true' or 'false' and are typically used as inputs for control flow blocks.",
4
+ "blocks": [
5
+ {
6
+ "block_name": "<() < ()>",
7
+ "block_type": "operator",
8
+ "op_code": "operator_lt",
9
+ "block_shape": "Boolean Block",
10
+ "functionality": "Checks if the first value is less than the second.",
11
+ "inputs": [
12
+ {"name": "OPERAND1", "type": "any"},
13
+ {"name": "OPERAND2", "type": "any"}
14
+ ],
15
+ "example_standalone": "<(score) < (10)>",
16
+ "example_with_other_blocks": [
17
+ {
18
+ "script": "if <(score) < (10)> then\n say [Keep trying!]",
19
+ "explanation": "This script causes the sprite to say 'Keep trying!' if the 'score' variable is less than 10."
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ "block_name": "<() = ()>",
25
+ "block_type": "operator",
26
+ "op_code": "operator_equals",
27
+ "block_shape": "Boolean Block",
28
+ "functionality": "Checks if two values are equal.",
29
+ "inputs": [
30
+ {"name": "OPERAND1", "type": "any"},
31
+ {"name": "OPERAND2", "type": "any"}
32
+ ],
33
+ "example_standalone": "<(answer) = (5)>",
34
+ "example_with_other_blocks": [
35
+ {
36
+ "script": "if <(answer) = (5)> then\n say [Correct!]",
37
+ "explanation": "This script makes the sprite say 'Correct!' if the value of the 'answer' variable is exactly 5."
38
+ }
39
+ ]
40
+ },
41
+ {
42
+ "block_name": "<() > ()>",
43
+ "block_type": "operator",
44
+ "op_code": "operator_gt",
45
+ "block_shape": "Boolean Block",
46
+ "functionality": "Checks if the first value is greater than the second.",
47
+ "inputs": [
48
+ {"name": "OPERAND1", "type": "any"},
49
+ {"name": "OPERAND2", "type": "any"}
50
+ ],
51
+ "example_standalone": "<(health) > (0)>",
52
+ "example_with_other_blocks": [
53
+ {
54
+ "script": "if <(health) > (0)> then\n move (10) steps\nelse\n stop [all v]\nend",
55
+ "explanation": "This script moves the sprite if its 'health' is greater than 0; otherwise, it stops all scripts."
56
+ }
57
+ ]
58
+ },
59
+ {
60
+ "block_name": "<<> and <>>",
61
+ "block_type": "operator",
62
+ "op_code": "operator_and",
63
+ "block_shape": "Boolean Block",
64
+ "functionality": "Returns 'true' if both provided Boolean conditions are 'true'.",
65
+ "inputs": [
66
+ {"name": "OPERAND1", "type": "boolean"},
67
+ {"name": "OPERAND2", "type": "boolean"}
68
+ ],
69
+ "example_standalone": "<<mouse down?> and <touching [mouse-pointer]?> >",
70
+ "example_with_other_blocks": [
71
+ {
72
+ "script": "if <<mouse down?> and <touching [mouse-pointer]?> > then\n say [You're clicking me!]\nend",
73
+ "explanation": "This script makes the sprite say 'You're clicking me!' only if the mouse button is pressed AND the mouse pointer is touching the sprite."
74
+ }
75
+ ]
76
+ },
77
+ {
78
+ "block_name": "<<> or <>>",
79
+ "block_type": "operator",
80
+ "op_code": "operator_or",
81
+ "block_shape": "Boolean Block",
82
+ "functionality": "Returns 'true' if at least one of the provided Boolean conditions is 'true'.",
83
+ "inputs": [
84
+ {"name": "OPERAND1", "type": "boolean"},
85
+ {"name": "OPERAND2", "type": "boolean"}
86
+ ],
87
+ "example_standalone": "<<key [left arrow v] pressed?> or <key [a v] pressed?>>",
88
+ "example_with_other_blocks": [
89
+ {
90
+ "script": "if <<key [left arrow v] pressed?> or <key [a v] pressed?>> then\n change x by (-10)\nend",
91
+ "explanation": "This script moves the sprite left if either the left arrow key OR the 'a' key is pressed."
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ "block_name": "<not <>>",
97
+ "block_type": "operator",
98
+ "op_code": "operator_not",
99
+ "block_shape": "Boolean Block",
100
+ "functionality": "Returns 'true' if the provided Boolean condition is 'false', and 'false' if it is 'true'.",
101
+ "inputs": [
102
+ {"name": "OPERAND", "type": "boolean"}
103
+ ],
104
+ "example_standalone": "<not <mouse down?>>",
105
+ "example_with_other_blocks": [
106
+ {
107
+ "script": "if <not <touching [Sprite2 v]?>> then\n say [I'm safe!]\nend",
108
+ "explanation": "This script makes the sprite say 'I'm safe!' if it is NOT touching 'Sprite2'."
109
+ }
110
+ ]
111
+ },
112
+ {
113
+ "block_name": "<() contains ()?>",
114
+ "block_type": "operator",
115
+ "op_code": "operator_contains",
116
+ "block_shape": "Boolean Block",
117
+ "functionality": "Checks if one string contains another string.",
118
+ "inputs": [
119
+ {"name": "STRING1", "type": "string"},
120
+ {"name": "STRING2", "type": "string"}
121
+ ],
122
+ "example_standalone": "<[apple] contains [a]?>",
123
+ "example_with_other_blocks": [
124
+ {
125
+ "script": "if <[answer] contains [yes]?> then\n say [Great!]\nend",
126
+ "explanation": "This script makes the sprite say 'Great!' if the 'answer' variable contains the substring 'yes'."
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ "block_name": "<touching ()?>",
132
+ "block_type": "Sensing",
133
+ "op_code": "sensing_touchingobject",
134
+ "block_shape": "Boolean Block",
135
+ "functionality": "Checks if its sprite is touching the mouse-pointer, edge, or another specified sprite.",
136
+ "inputs": [
137
+ {"name": "TOUCHINGOBJECTMENU", "type": "dropdown", "options": ["mouse-pointer", "edge", "Sprite1", "..." ]}
138
+ ],
139
+ "example_standalone": "<touching [edge v]?>",
140
+ "example_with_other_blocks": [
141
+ {
142
+ "script": "if <touching [edge v]?> then\n bounce off edge\nend",
143
+ "explanation": "This script makes the sprite reverse direction if it comes into contact with the edge of the stage."
144
+ }
145
+ ]
146
+ },
147
+ {
148
+ "block_name": "<touching color ()?>",
149
+ "block_type": "Sensing",
150
+ "op_code": "sensing_touchingcolor",
151
+ "block_shape": "Boolean Block",
152
+ "functionality": "Checks whether its sprite is touching a specified color.",
153
+ "inputs": [
154
+ {"name": "COLOR", "type": "color"}
155
+ ],
156
+ "example_standalone": "<touching color [#FF0000]?>",
157
+ "example_with_other_blocks": [
158
+ {
159
+ "script": "if <touching color [#FF0000]?> then\n change [health v] by (-1)\nend",
160
+ "explanation": "This script decreases the 'health' variable by 1 if the sprite touches any red color on the stage."
161
+ }
162
+ ]
163
+ },
164
+ {
165
+ "block_name": "<color () is touching ()?>",
166
+ "block_type": "Sensing",
167
+ "op_code": "sensing_coloristouchingcolor",
168
+ "block_shape": "Boolean Block",
169
+ "functionality": "Checks whether a specific color on its sprite is touching another specified color on the stage or another sprite.",
170
+ "inputs": [
171
+ {"name": "COLOR1", "type": "color"},
172
+ {"name": "COLOR2", "type": "color"}
173
+ ],
174
+ "example_standalone": "<color [#00FF00] is touching [#FF0000]?>",
175
+ "example_with_other_blocks": [
176
+ {
177
+ "script": "if <color [#00FF00] is touching [#FF0000]?> then\n say [Collision!]\nend",
178
+ "explanation": "This script makes the sprite say 'Collision!' if a green part of the sprite touches a red color elsewhere in the project."
179
+ }
180
+ ]
181
+ },
182
+ {
183
+ "block_name": "<key () pressed?>",
184
+ "block_type": "Sensing",
185
+ "op_code": "sensing_keypressed",
186
+ "block_shape": "Boolean Block",
187
+ "functionality": "Checks if a specified keyboard key is currently being pressed.",
188
+ "inputs": [
189
+ {"name": "KEY_OPTION", "type": "dropdown",
190
+ "options": [
191
+ "space",
192
+ "up arrow",
193
+ "down arrow",
194
+ "right arrow",
195
+ "left arrow",
196
+ "any",
197
+ "a",
198
+ "b",
199
+ "c",
200
+ "d",
201
+ "e",
202
+ "f",
203
+ "g",
204
+ "h",
205
+ "i",
206
+ "j",
207
+ "k",
208
+ "l",
209
+ "m",
210
+ "n",
211
+ "o",
212
+ "p",
213
+ "q",
214
+ "r",
215
+ "s",
216
+ "t",
217
+ "u",
218
+ "v",
219
+ "w",
220
+ "x",
221
+ "y",
222
+ "z",
223
+ "0",
224
+ "1",
225
+ "2",
226
+ "3",
227
+ "4",
228
+ "5",
229
+ "6",
230
+ "7",
231
+ "8",
232
+ "9"
233
+ ]}
234
+ ],
235
+ "example_standalone": "<key [space v] pressed?>",
236
+ "example_with_other_blocks": [
237
+ {
238
+ "script": "forever\n if <key [space v] pressed?> then\n broadcast [shoot v]\n end\nend",
239
+ "explanation": "This script continuously checks if the space key is pressed and, if so, sends a 'shoot' broadcast."
240
+ }
241
+ ]
242
+ },
243
+ {
244
+ "block_name": "<mouse down?>",
245
+ "block_type": "Sensing",
246
+ "op_code": "sensing_mousedown",
247
+ "block_shape": "Boolean Block",
248
+ "functionality": "Checks if the computer mouse's primary button is being clicked while the cursor is over the stage.",
249
+ "inputs": null,
250
+ "example_standalone": "<mouse down?>",
251
+ "example_with_other_blocks": [
252
+ {
253
+ "script": "if <mouse down?> then\n go to mouse-pointer\nend",
254
+ "explanation": "This script makes the sprite follow the mouse pointer only when the mouse button is held down."
255
+ }
256
+ ]
257
+ },
258
+ {
259
+ "block_name": "<[my list v] contains ()?>",
260
+ "block_type": "Data",
261
+ "op_code": "data_listcontainsitem",
262
+ "block_shape": "Boolean Block",
263
+ "functionality": "Checks if a list includes a specific item.",
264
+ "inputs": [
265
+ {"name": "LIST", "type": "dropdown"},
266
+ {"name": "ITEM", "type": "any"}
267
+ ],
268
+ "example_standalone": "<[inventory v] contains [key]?>",
269
+ "example_with_other_blocks": [
270
+ {
271
+ "script": "if <[inventory v] contains [key]?> then\n say [You have the key!]\nend",
272
+ "explanation": "This script makes the sprite say 'You have the key!' if the 'inventory' list contains the item 'key'."
273
+ }
274
+ ]
275
+ }
276
+ ]
277
+ }
blocks/c_blocks.json ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "block_category": "C Blocks",
3
+ "description": "C blocks are shaped like the letter 'C'. They are used to loop or conditionally execute blocks that are placed within their opening, managing the flow of scripts.",
4
+ "blocks": [
5
+ {
6
+ "block_name": "repeat ()",
7
+ "block_type": "Control",
8
+ "block_shape": "C-Block",
9
+ "op_code": "control_repeat",
10
+ "functionality": "Repeats the blocks inside it a specified number of times.",
11
+ "inputs": [
12
+ {
13
+ "name": "times",
14
+ "type": "number"
15
+ }
16
+ ],
17
+ "example_standalone": "repeat (10)",
18
+ "example_with_other_blocks": [
19
+ {
20
+ "script": "when [space v] key pressed\n repeat (10)\n move (10) steps\n wait (0.1) seconds\n end",
21
+ "explanation": "This script makes the sprite move 10 steps Ten times, with a short pause after each movement on spacebar pressed."
22
+ },
23
+ {
24
+ "script": "when [up arrow v] key pressed\n repeat (10)\n change y by (10)\n wait (0.1) seconds\n change y by (10)\n end",
25
+ "explanation": "This script makes the sprite jump, with a short pause after each movement on up arrow pressed."
26
+ }
27
+ ]
28
+ },
29
+ {
30
+ "block_name": "forever",
31
+ "block_type": "Control",
32
+ "block_shape": "C-Block",
33
+ "op_code": "control_forever",
34
+ "functionality": "Continuously runs the blocks inside it.",
35
+ "inputs": null,
36
+ "example_standalone": "forever",
37
+ "example_with_other_blocks": [
38
+ {
39
+ "script": "when green flag clicked\n forever\n move (5) steps\n if on edge, bounce\n end",
40
+ "explanation": "This script makes the sprite move endlessly and bounce off the edges of the stage, creating continuous motion."
41
+ }
42
+ ]
43
+ },
44
+ {
45
+ "block_name": "if () then",
46
+ "block_type": "Control",
47
+ "block_shape": "C-Block",
48
+ "op_code": "control_if",
49
+ "functionality": "Executes the blocks inside it only if the specified boolean condition is true.",
50
+ "inputs": [
51
+ {
52
+ "name": "condition",
53
+ "type": "boolean"
54
+ }
55
+ ],
56
+ "example_standalone": "if <touching [mouse-pointer v]?> then",
57
+ "example_with_other_blocks": [
58
+ {
59
+ "script": "forever\n if <touching [color (red) v]?> then\n stop [this script v]\n end",
60
+ "explanation": "This script continuously checks if the sprite is touching a red color, and if so, it stops the current script."
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "block_name": "if () then else",
66
+ "block_type": "Control",
67
+ "block_shape": "C-Block",
68
+ "op_code": "control_if_else",
69
+ "functionality": "Executes one set of blocks if the specified boolean condition is true, and a different set of blocks if the condition is false.",
70
+ "inputs": [
71
+ {
72
+ "name": "condition",
73
+ "type": "boolean"
74
+ }
75
+ ],
76
+ "example_standalone": "if <score > (10)> then else",
77
+ "example_with_other_blocks": [
78
+ {
79
+ "script": "if <(score) > (10)> then\n say [You win!] for (2) seconds\nelse\n say [Keep trying!] for (2) seconds\nend",
80
+ "explanation": "This script checks the 'score'. If the score is greater than 10, it says 'You win!'; otherwise, it says 'Keep trying!'."
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "block_name": "repeat until ()",
86
+ "block_type": "Control",
87
+ "block_shape": "C-Block",
88
+ "op_code": "control_repeat_until",
89
+ "functionality": "Repeats the blocks inside it until the specified boolean condition becomes true.",
90
+ "inputs": [
91
+ {
92
+ "name": "condition",
93
+ "type": "boolean"
94
+ }
95
+ ],
96
+ "example_standalone": "repeat until <touching [edge v]?>",
97
+ "example_with_other_blocks": [
98
+ {
99
+ "script": "repeat until <touching [edge v]?>\n move (5) steps\nend",
100
+ "explanation": "This script makes the sprite move 5 steps repeatedly until it touches the edge of the stage."
101
+ }
102
+ ]
103
+ }
104
+ ]
105
+ }
blocks/cap_blocks.json ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "block_category": "Cap Blocks",
3
+ "description": "Cap blocks have a notch at the top and a flat bottom. They signify the end of a script, preventing any further blocks from being placed below them, and are used to terminate scripts or specific actions.",
4
+ "blocks": [
5
+ {
6
+ "block_name": "stop [v]",
7
+ "block_type": "Control",
8
+ "block_shape": "Cap Block (dynamic: can be Stack)",
9
+ "op_code": "control_stop",
10
+ "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.",
11
+ "inputs": [
12
+ {"name": "option", "type": "dropdown", "options": ["all"]}
13
+ ],
14
+ "example_standalone": "stop [all v]",
15
+ "example_with_other_blocks": [
16
+ {
17
+ "script": "if <(health) = (0)> then\n stop [all v]\nend",
18
+ "explanation": "This script stops all running scripts in the project if the 'health' variable reaches 0, typically signifying a game over condition. [9, 15]"
19
+ }
20
+ ]
21
+ },
22
+ {
23
+ "block_name": "delete this clone",
24
+ "block_type": "Control",
25
+ "block_shape": "Cap Block",
26
+ "op_code": "control_delete_this_clone",
27
+ "functionality": "Removes the clone that is executing it from the stage.",
28
+ "inputs":null,
29
+ "example_standalone": "delete this clone",
30
+ "example_with_other_blocks": [
31
+ {
32
+ "script": "when I start as a clone\n wait until <touching [edge v]?>\n delete this clone\nend",
33
+ "explanation": "This script, run by a clone, causes the clone to disappear from the stage once it touches the edge. [1]"
34
+ }
35
+ ]
36
+ },
37
+ {
38
+ "block_name": "forever",
39
+ "block_type": "Control",
40
+ "block_shape": "Cap Block",
41
+ "op_code": "control_forever",
42
+ "functionality": "Continuously runs the blocks inside it.",
43
+ "inputs": null,
44
+ "example_standalone": "forever",
45
+ "example_with_other_blocks": [
46
+ {
47
+ "script": "when green flag clicked\n forever\n move (5) steps\n if on edge, bounce\n end",
48
+ "explanation": "This script makes the sprite move endlessly and bounce off the edges of the stage, creating continuous motion."
49
+ }
50
+ ]
51
+ }
52
+ ]
53
+ }
blocks/classwise_blocks/control_block.json ADDED
@@ -0,0 +1,168 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "control_wait": {
3
+ "opcode": "control_wait",
4
+ "next": null,
5
+ "parent": null,
6
+ "inputs": {
7
+ "DURATION": [
8
+ 1,
9
+ [
10
+ 5,
11
+ "1"
12
+ ]
13
+ ]
14
+ },
15
+ "fields": {},
16
+ "shadow": false,
17
+ "topLevel": true,
18
+ "x": 337,
19
+ "y": 129
20
+ },
21
+ "control_repeat": {
22
+ "opcode": "control_repeat",
23
+ "next": null,
24
+ "parent": null,
25
+ "inputs": {
26
+ "TIMES": [
27
+ 1,
28
+ [
29
+ 6,
30
+ "10"
31
+ ]
32
+ ]
33
+ },
34
+ "fields": {},
35
+ "shadow": false,
36
+ "topLevel": true,
37
+ "x": 348,
38
+ "y": 265
39
+ },
40
+ "control_forever": {
41
+ "opcode": "control_forever",
42
+ "next": null,
43
+ "parent": null,
44
+ "inputs": {},
45
+ "fields": {},
46
+ "shadow": false,
47
+ "topLevel": true,
48
+ "x": 334,
49
+ "y": 439
50
+ },
51
+ "control_if": {
52
+ "opcode": "control_if",
53
+ "next": null,
54
+ "parent": null,
55
+ "inputs": {},
56
+ "fields": {},
57
+ "shadow": false,
58
+ "topLevel": true,
59
+ "x": 331,
60
+ "y": 597
61
+ },
62
+ "control_if_else": {
63
+ "opcode": "control_if_else",
64
+ "next": null,
65
+ "parent": null,
66
+ "inputs": {},
67
+ "fields": {},
68
+ "shadow": false,
69
+ "topLevel": true,
70
+ "x": 335,
71
+ "y": 779
72
+ },
73
+ "control_wait_until": {
74
+ "opcode": "control_wait_until",
75
+ "next": null,
76
+ "parent": null,
77
+ "inputs": {},
78
+ "fields": {},
79
+ "shadow": false,
80
+ "topLevel": true,
81
+ "x": 676,
82
+ "y": 285
83
+ },
84
+ "control_repeat_until": {
85
+ "opcode": "control_repeat_until",
86
+ "next": null,
87
+ "parent": null,
88
+ "inputs": {},
89
+ "fields": {},
90
+ "shadow": false,
91
+ "topLevel": true,
92
+ "x": 692,
93
+ "y": 381
94
+ },
95
+ "control_stop": {
96
+ "opcode": "control_stop",
97
+ "next": null,
98
+ "parent": null,
99
+ "inputs": {},
100
+ "fields": {
101
+ "STOP_OPTION": [
102
+ "all",
103
+ null
104
+ ]
105
+ },
106
+ "shadow": false,
107
+ "topLevel": true,
108
+ "x": 708,
109
+ "y": 545,
110
+ "mutation": {
111
+ "tagName": "mutation",
112
+ "children": [],
113
+ "hasnext": "false"
114
+ }
115
+ },
116
+ "control_start_as_clone": {
117
+ "opcode": "control_start_as_clone",
118
+ "next": null,
119
+ "parent": null,
120
+ "inputs": {},
121
+ "fields": {},
122
+ "shadow": false,
123
+ "topLevel": true,
124
+ "x": 665,
125
+ "y": 672
126
+ },
127
+ "control_create_clone_of": {
128
+ "opcode": "control_create_clone_of",
129
+ "next": null,
130
+ "parent": null,
131
+ "inputs": {
132
+ "CLONE_OPTION": [
133
+ 1,
134
+ "t))DW9(QSKB]3C/3Ou+J"
135
+ ]
136
+ },
137
+ "fields": {},
138
+ "shadow": false,
139
+ "topLevel": true,
140
+ "x": 648,
141
+ "y": 797
142
+ },
143
+ "control_create_clone_of_menu": {
144
+ "opcode": "control_create_clone_of_menu",
145
+ "next": null,
146
+ "parent": "80yo/}Cw++Z.;x[ohh|7",
147
+ "inputs": {},
148
+ "fields": {
149
+ "CLONE_OPTION": [
150
+ "_myself_",
151
+ null
152
+ ]
153
+ },
154
+ "shadow": true,
155
+ "topLevel": false
156
+ },
157
+ "control_delete_this_clone": {
158
+ "opcode": "control_delete_this_clone",
159
+ "next": null,
160
+ "parent": null,
161
+ "inputs": {},
162
+ "fields": {},
163
+ "shadow": false,
164
+ "topLevel": true,
165
+ "x": 642,
166
+ "y": 914
167
+ }
168
+ }
blocks/classwise_blocks/data_block.json ADDED
@@ -0,0 +1,328 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "data_setvariableto": {
3
+ "opcode": "data_setvariableto",
4
+ "next": null,
5
+ "parent": null,
6
+ "inputs": {
7
+ "VALUE": [
8
+ 1,
9
+ [
10
+ 10,
11
+ "0"
12
+ ]
13
+ ]
14
+ },
15
+ "fields": {
16
+ "VARIABLE": [
17
+ "my variable",
18
+ "`jEk@4|i[#Fk?(8x)AV.-my variable"
19
+ ]
20
+ },
21
+ "shadow": false,
22
+ "topLevel": true,
23
+ "x": 348,
24
+ "y": 241
25
+ },
26
+ "data_changevariableby": {
27
+ "opcode": "data_changevariableby",
28
+ "next": null,
29
+ "parent": null,
30
+ "inputs": {
31
+ "VALUE": [
32
+ 1,
33
+ [
34
+ 4,
35
+ "1"
36
+ ]
37
+ ]
38
+ },
39
+ "fields": {
40
+ "VARIABLE": [
41
+ "my variable",
42
+ "`jEk@4|i[#Fk?(8x)AV.-my variable"
43
+ ]
44
+ },
45
+ "shadow": false,
46
+ "topLevel": true,
47
+ "x": 313,
48
+ "y": 363
49
+ },
50
+ "data_showvariable": {
51
+ "opcode": "data_showvariable",
52
+ "next": null,
53
+ "parent": null,
54
+ "inputs": {},
55
+ "fields": {
56
+ "VARIABLE": [
57
+ "my variable",
58
+ "`jEk@4|i[#Fk?(8x)AV.-my variable"
59
+ ]
60
+ },
61
+ "shadow": false,
62
+ "topLevel": true,
63
+ "x": 415,
64
+ "y": 473
65
+ },
66
+ "data_hidevariable": {
67
+ "opcode": "data_hidevariable",
68
+ "next": null,
69
+ "parent": null,
70
+ "inputs": {},
71
+ "fields": {
72
+ "VARIABLE": [
73
+ "my variable",
74
+ "`jEk@4|i[#Fk?(8x)AV.-my variable"
75
+ ]
76
+ },
77
+ "shadow": false,
78
+ "topLevel": true,
79
+ "x": 319,
80
+ "y": 587
81
+ },
82
+ "data_addtolist": {
83
+ "opcode": "data_addtolist",
84
+ "next": null,
85
+ "parent": null,
86
+ "inputs": {
87
+ "ITEM": [
88
+ 1,
89
+ [
90
+ 10,
91
+ "thing"
92
+ ]
93
+ ]
94
+ },
95
+ "fields": {
96
+ "LIST": [
97
+ "MY_LIST",
98
+ "o6`kIhtT{xWH+rX(5d,A"
99
+ ]
100
+ },
101
+ "shadow": false,
102
+ "topLevel": true,
103
+ "x": 385,
104
+ "y": 109
105
+ },
106
+ "data_deleteoflist": {
107
+ "opcode": "data_deleteoflist",
108
+ "next": null,
109
+ "parent": null,
110
+ "inputs": {
111
+ "INDEX": [
112
+ 1,
113
+ [
114
+ 7,
115
+ "1"
116
+ ]
117
+ ]
118
+ },
119
+ "fields": {
120
+ "LIST": [
121
+ "MY_LIST",
122
+ "o6`kIhtT{xWH+rX(5d,A"
123
+ ]
124
+ },
125
+ "shadow": false,
126
+ "topLevel": true,
127
+ "x": 384,
128
+ "y": 244
129
+ },
130
+ "data_deletealloflist": {
131
+ "opcode": "data_deletealloflist",
132
+ "next": null,
133
+ "parent": null,
134
+ "inputs": {},
135
+ "fields": {
136
+ "LIST": [
137
+ "MY_LIST",
138
+ "o6`kIhtT{xWH+rX(5d,A"
139
+ ]
140
+ },
141
+ "shadow": false,
142
+ "topLevel": true,
143
+ "x": 387,
144
+ "y": 374
145
+ },
146
+ "data_insertatlist": {
147
+ "opcode": "data_insertatlist",
148
+ "next": null,
149
+ "parent": null,
150
+ "inputs": {
151
+ "ITEM": [
152
+ 1,
153
+ [
154
+ 10,
155
+ "thing"
156
+ ]
157
+ ],
158
+ "INDEX": [
159
+ 1,
160
+ [
161
+ 7,
162
+ "1"
163
+ ]
164
+ ]
165
+ },
166
+ "fields": {
167
+ "LIST": [
168
+ "MY_LIST",
169
+ "o6`kIhtT{xWH+rX(5d,A"
170
+ ]
171
+ },
172
+ "shadow": false,
173
+ "topLevel": true,
174
+ "x": 366,
175
+ "y": 527
176
+ },
177
+ "data_replaceitemoflist": {
178
+ "opcode": "data_replaceitemoflist",
179
+ "next": null,
180
+ "parent": null,
181
+ "inputs": {
182
+ "INDEX": [
183
+ 1,
184
+ [
185
+ 7,
186
+ "1"
187
+ ]
188
+ ],
189
+ "ITEM": [
190
+ 1,
191
+ [
192
+ 10,
193
+ "thing"
194
+ ]
195
+ ]
196
+ },
197
+ "fields": {
198
+ "LIST": [
199
+ "MY_LIST",
200
+ "o6`kIhtT{xWH+rX(5d,A"
201
+ ]
202
+ },
203
+ "shadow": false,
204
+ "topLevel": true,
205
+ "x": 365,
206
+ "y": 657
207
+ },
208
+ "data_itemoflist": {
209
+ "opcode": "data_itemoflist",
210
+ "next": null,
211
+ "parent": null,
212
+ "inputs": {
213
+ "INDEX": [
214
+ 1,
215
+ [
216
+ 7,
217
+ "1"
218
+ ]
219
+ ]
220
+ },
221
+ "fields": {
222
+ "LIST": [
223
+ "MY_LIST",
224
+ "o6`kIhtT{xWH+rX(5d,A"
225
+ ]
226
+ },
227
+ "shadow": false,
228
+ "topLevel": true,
229
+ "x": 862,
230
+ "y": 117
231
+ },
232
+ "data_itemnumoflist": {
233
+ "opcode": "data_itemnumoflist",
234
+ "next": null,
235
+ "parent": null,
236
+ "inputs": {
237
+ "ITEM": [
238
+ 1,
239
+ [
240
+ 10,
241
+ "thing"
242
+ ]
243
+ ]
244
+ },
245
+ "fields": {
246
+ "LIST": [
247
+ "MY_LIST",
248
+ "o6`kIhtT{xWH+rX(5d,A"
249
+ ]
250
+ },
251
+ "shadow": false,
252
+ "topLevel": true,
253
+ "x": 883,
254
+ "y": 238
255
+ },
256
+ "data_lengthoflist": {
257
+ "opcode": "data_lengthoflist",
258
+ "next": null,
259
+ "parent": null,
260
+ "inputs": {},
261
+ "fields": {
262
+ "LIST": [
263
+ "MY_LIST",
264
+ "o6`kIhtT{xWH+rX(5d,A"
265
+ ]
266
+ },
267
+ "shadow": false,
268
+ "topLevel": true,
269
+ "x": 876,
270
+ "y": 342
271
+ },
272
+ "data_listcontainsitem": {
273
+ "opcode": "data_listcontainsitem",
274
+ "next": null,
275
+ "parent": null,
276
+ "inputs": {
277
+ "ITEM": [
278
+ 1,
279
+ [
280
+ 10,
281
+ "thing"
282
+ ]
283
+ ]
284
+ },
285
+ "fields": {
286
+ "LIST": [
287
+ "MY_LIST",
288
+ "o6`kIhtT{xWH+rX(5d,A"
289
+ ]
290
+ },
291
+ "shadow": false,
292
+ "topLevel": true,
293
+ "x": 871,
294
+ "y": 463
295
+ },
296
+ "data_showlist": {
297
+ "opcode": "data_showlist",
298
+ "next": null,
299
+ "parent": null,
300
+ "inputs": {},
301
+ "fields": {
302
+ "LIST": [
303
+ "MY_LIST",
304
+ "o6`kIhtT{xWH+rX(5d,A"
305
+ ]
306
+ },
307
+ "shadow": false,
308
+ "topLevel": true,
309
+ "x": 931,
310
+ "y": 563
311
+ },
312
+ "data_hidelist": {
313
+ "opcode": "data_hidelist",
314
+ "next": null,
315
+ "parent": null,
316
+ "inputs": {},
317
+ "fields": {
318
+ "LIST": [
319
+ "MY_LIST",
320
+ "o6`kIhtT{xWH+rX(5d,A"
321
+ ]
322
+ },
323
+ "shadow": false,
324
+ "topLevel": true,
325
+ "x": 962,
326
+ "y": 716
327
+ }
328
+ }
blocks/classwise_blocks/event_block.json ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "event_whenflagclicked": {
3
+ "opcode": "event_whenflagclicked",
4
+ "next": null,
5
+ "parent": null,
6
+ "inputs": {},
7
+ "fields": {},
8
+ "shadow": false,
9
+ "topLevel": true,
10
+ "x": 166,
11
+ "y": -422
12
+ },
13
+ "event_whenkeypressed": {
14
+ "opcode": "event_whenkeypressed",
15
+ "next": null,
16
+ "parent": null,
17
+ "inputs": {},
18
+ "fields": {
19
+ "KEY_OPTION": [
20
+ "space",
21
+ null
22
+ ]
23
+ },
24
+ "shadow": false,
25
+ "topLevel": true,
26
+ "x": 151,
27
+ "y": -329
28
+ },
29
+ "event_whenthisspriteclicked": {
30
+ "opcode": "event_whenthisspriteclicked",
31
+ "next": null,
32
+ "parent": null,
33
+ "inputs": {},
34
+ "fields": {},
35
+ "shadow": false,
36
+ "topLevel": true,
37
+ "x": 156,
38
+ "y": -223
39
+ },
40
+ "event_whenbackdropswitchesto": {
41
+ "opcode": "event_whenbackdropswitchesto",
42
+ "next": null,
43
+ "parent": null,
44
+ "inputs": {},
45
+ "fields": {
46
+ "BACKDROP": [
47
+ "backdrop1",
48
+ null
49
+ ]
50
+ },
51
+ "shadow": false,
52
+ "topLevel": true,
53
+ "x": 148,
54
+ "y": -101
55
+ },
56
+ "event_whengreaterthan": {
57
+ "opcode": "event_whengreaterthan",
58
+ "next": null,
59
+ "parent": null,
60
+ "inputs": {
61
+ "VALUE": [
62
+ 1,
63
+ [
64
+ 4,
65
+ "10"
66
+ ]
67
+ ]
68
+ },
69
+ "fields": {
70
+ "WHENGREATERTHANMENU": [
71
+ "LOUDNESS",
72
+ null
73
+ ]
74
+ },
75
+ "shadow": false,
76
+ "topLevel": true,
77
+ "x": 150,
78
+ "y": 10
79
+ },
80
+ "event_whenbroadcastreceived": {
81
+ "opcode": "event_whenbroadcastreceived",
82
+ "next": null,
83
+ "parent": null,
84
+ "inputs": {},
85
+ "fields": {
86
+ "BROADCAST_OPTION": [
87
+ "message1",
88
+ "5O!nei;S$!c!=hCT}0:a"
89
+ ]
90
+ },
91
+ "shadow": false,
92
+ "topLevel": true,
93
+ "x": 141,
94
+ "y": 118
95
+ },
96
+ "event_broadcast": {
97
+ "opcode": "event_broadcast",
98
+ "next": null,
99
+ "parent": null,
100
+ "inputs": {
101
+ "BROADCAST_INPUT": [
102
+ 1,
103
+ [
104
+ 11,
105
+ "message1",
106
+ "5O!nei;S$!c!=hCT}0:a"
107
+ ]
108
+ ]
109
+ },
110
+ "fields": {},
111
+ "shadow": false,
112
+ "topLevel": true,
113
+ "x": 151,
114
+ "y": 229
115
+ },
116
+ "event_broadcastandwait": {
117
+ "opcode": "event_broadcastandwait",
118
+ "next": null,
119
+ "parent": null,
120
+ "inputs": {
121
+ "BROADCAST_INPUT": [
122
+ 1,
123
+ [
124
+ 11,
125
+ "message1",
126
+ "5O!nei;S$!c!=hCT}0:a"
127
+ ]
128
+ ]
129
+ },
130
+ "fields": {},
131
+ "shadow": false,
132
+ "topLevel": true,
133
+ "x": 157,
134
+ "y": 340
135
+ }
136
+ }
blocks/classwise_blocks/motion_block.json ADDED
@@ -0,0 +1,370 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "motion_movesteps": {
3
+ "opcode": "motion_movesteps",
4
+ "next": null,
5
+ "parent": null,
6
+ "inputs": {
7
+ "STEPS": [
8
+ 1,
9
+ [
10
+ 4,
11
+ "10"
12
+ ]
13
+ ]
14
+ },
15
+ "fields": {},
16
+ "shadow": false,
17
+ "topLevel": true,
18
+ "x": 464,
19
+ "y": -416
20
+ },
21
+ "motion_turnright": {
22
+ "opcode": "motion_turnright",
23
+ "next": null,
24
+ "parent": null,
25
+ "inputs": {
26
+ "DEGREES": [
27
+ 1,
28
+ [
29
+ 4,
30
+ "15"
31
+ ]
32
+ ]
33
+ },
34
+ "fields": {},
35
+ "shadow": false,
36
+ "topLevel": true,
37
+ "x": 467,
38
+ "y": -316
39
+ },
40
+ "motion_turnleft": {
41
+ "opcode": "motion_turnleft",
42
+ "next": null,
43
+ "parent": null,
44
+ "inputs": {
45
+ "DEGREES": [
46
+ 1,
47
+ [
48
+ 4,
49
+ "15"
50
+ ]
51
+ ]
52
+ },
53
+ "fields": {},
54
+ "shadow": false,
55
+ "topLevel": true,
56
+ "x": 464,
57
+ "y": -210
58
+ },
59
+ "motion_goto": {
60
+ "opcode": "motion_goto",
61
+ "next": null,
62
+ "parent": null,
63
+ "inputs": {
64
+ "TO": [
65
+ 1,
66
+ "@iM=Z?~GCbpC}gT7KAKY"
67
+ ]
68
+ },
69
+ "fields": {},
70
+ "shadow": false,
71
+ "topLevel": true,
72
+ "x": 465,
73
+ "y": -95
74
+ },
75
+ "motion_goto_menu": {
76
+ "opcode": "motion_goto_menu",
77
+ "next": null,
78
+ "parent": "d|J?C902/xy6tD5,|dmB",
79
+ "inputs": {},
80
+ "fields": {
81
+ "TO": [
82
+ "_random_",
83
+ null
84
+ ]
85
+ },
86
+ "shadow": true,
87
+ "topLevel": false
88
+ },
89
+ "motion_gotoxy": {
90
+ "opcode": "motion_gotoxy",
91
+ "next": null,
92
+ "parent": null,
93
+ "inputs": {
94
+ "X": [
95
+ 1,
96
+ [
97
+ 4,
98
+ "0"
99
+ ]
100
+ ],
101
+ "Y": [
102
+ 1,
103
+ [
104
+ 4,
105
+ "0"
106
+ ]
107
+ ]
108
+ },
109
+ "fields": {},
110
+ "shadow": false,
111
+ "topLevel": true,
112
+ "x": 468,
113
+ "y": 12
114
+ },
115
+ "motion_glideto": {
116
+ "opcode": "motion_glideto",
117
+ "next": null,
118
+ "parent": null,
119
+ "inputs": {
120
+ "SECS": [
121
+ 1,
122
+ [
123
+ 4,
124
+ "1"
125
+ ]
126
+ ],
127
+ "TO": [
128
+ 1,
129
+ "{id to destination position}"
130
+ ]
131
+ },
132
+ "fields": {},
133
+ "shadow": false,
134
+ "topLevel": true,
135
+ "x": 470,
136
+ "y": 129
137
+ },
138
+ "motion_glideto_menu": {
139
+ "opcode": "motion_glideto_menu",
140
+ "next": null,
141
+ "parent": null,
142
+ "inputs": {},
143
+ "fields": {
144
+ "TO": [
145
+ "_random_",
146
+ null
147
+ ]
148
+ },
149
+ "shadow": true,
150
+ "topLevel": false
151
+ },
152
+ "motion_glidesecstoxy": {
153
+ "opcode": "motion_glidesecstoxy",
154
+ "next": null,
155
+ "parent": null,
156
+ "inputs": {
157
+ "SECS": [
158
+ 1,
159
+ [
160
+ 4,
161
+ "1"
162
+ ]
163
+ ],
164
+ "X": [
165
+ 1,
166
+ [
167
+ 4,
168
+ "0"
169
+ ]
170
+ ],
171
+ "Y": [
172
+ 1,
173
+ [
174
+ 4,
175
+ "0"
176
+ ]
177
+ ]
178
+ },
179
+ "fields": {},
180
+ "shadow": false,
181
+ "topLevel": true,
182
+ "x": 476,
183
+ "y": 239
184
+ },
185
+ "motion_pointindirection": {
186
+ "opcode": "motion_pointindirection",
187
+ "next": null,
188
+ "parent": null,
189
+ "inputs": {
190
+ "DIRECTION": [
191
+ 1,
192
+ [
193
+ 8,
194
+ "90"
195
+ ]
196
+ ]
197
+ },
198
+ "fields": {},
199
+ "shadow": false,
200
+ "topLevel": true,
201
+ "x": 493,
202
+ "y": 361
203
+ },
204
+ "motion_pointtowards": {
205
+ "opcode": "motion_pointtowards",
206
+ "next": null,
207
+ "parent": null,
208
+ "inputs": {
209
+ "TOWARDS": [
210
+ 1,
211
+ "6xQl1pPk%9E~Znhm*:ng"
212
+ ]
213
+ },
214
+ "fields": {},
215
+ "shadow": false,
216
+ "topLevel": true,
217
+ "x": 492,
218
+ "y": 463
219
+ },
220
+ "motion_pointtowards_menu": {
221
+ "opcode": "motion_pointtowards_menu",
222
+ "next": null,
223
+ "parent": "Ucm$YBs*^9GFTGXCbal@",
224
+ "inputs": {},
225
+ "fields": {
226
+ "TOWARDS": [
227
+ "_mouse_",
228
+ null
229
+ ]
230
+ },
231
+ "shadow": true,
232
+ "topLevel": false
233
+ },
234
+ "motion_changexby": {
235
+ "opcode": "motion_changexby",
236
+ "next": null,
237
+ "parent": null,
238
+ "inputs": {
239
+ "DX": [
240
+ 1,
241
+ [
242
+ 4,
243
+ "10"
244
+ ]
245
+ ]
246
+ },
247
+ "fields": {},
248
+ "shadow": false,
249
+ "topLevel": true,
250
+ "x": 851,
251
+ "y": -409
252
+ },
253
+ "motion_setx": {
254
+ "opcode": "motion_setx",
255
+ "next": null,
256
+ "parent": null,
257
+ "inputs": {
258
+ "X": [
259
+ 1,
260
+ [
261
+ 4,
262
+ "0"
263
+ ]
264
+ ]
265
+ },
266
+ "fields": {},
267
+ "shadow": false,
268
+ "topLevel": true,
269
+ "x": 864,
270
+ "y": -194
271
+ },
272
+ "motion_changeyby": {
273
+ "opcode": "motion_changeyby",
274
+ "next": null,
275
+ "parent": null,
276
+ "inputs": {
277
+ "DY": [
278
+ 1,
279
+ [
280
+ 4,
281
+ "10"
282
+ ]
283
+ ]
284
+ },
285
+ "fields": {},
286
+ "shadow": false,
287
+ "topLevel": true,
288
+ "x": 861,
289
+ "y": -61
290
+ },
291
+ "motion_sety": {
292
+ "opcode": "motion_sety",
293
+ "next": null,
294
+ "parent": null,
295
+ "inputs": {
296
+ "Y": [
297
+ 1,
298
+ [
299
+ 4,
300
+ "0"
301
+ ]
302
+ ]
303
+ },
304
+ "fields": {},
305
+ "shadow": false,
306
+ "topLevel": true,
307
+ "x": 864,
308
+ "y": 66
309
+ },
310
+ "motion_ifonedgebounce": {
311
+ "opcode": "motion_ifonedgebounce",
312
+ "next": null,
313
+ "parent": null,
314
+ "inputs": {},
315
+ "fields": {},
316
+ "shadow": false,
317
+ "topLevel": true,
318
+ "x": 1131,
319
+ "y": -397
320
+ },
321
+ "motion_setrotationstyle": {
322
+ "opcode": "motion_setrotationstyle",
323
+ "next": null,
324
+ "parent": null,
325
+ "inputs": {},
326
+ "fields": {
327
+ "STYLE": [
328
+ "left-right",
329
+ null
330
+ ]
331
+ },
332
+ "shadow": false,
333
+ "topLevel": true,
334
+ "x": 1128,
335
+ "y": -287
336
+ },
337
+ "motion_xposition": {
338
+ "opcode": "motion_xposition",
339
+ "next": null,
340
+ "parent": null,
341
+ "inputs": {},
342
+ "fields": {},
343
+ "shadow": false,
344
+ "topLevel": true,
345
+ "x": 1193,
346
+ "y": -136
347
+ },
348
+ "motion_yposition": {
349
+ "opcode": "motion_yposition",
350
+ "next": null,
351
+ "parent": null,
352
+ "inputs": {},
353
+ "fields": {},
354
+ "shadow": false,
355
+ "topLevel": true,
356
+ "x": 1181,
357
+ "y": -64
358
+ },
359
+ "motion_direction": {
360
+ "opcode": "motion_direction",
361
+ "next": null,
362
+ "parent": null,
363
+ "inputs": {},
364
+ "fields": {},
365
+ "shadow": false,
366
+ "topLevel": true,
367
+ "x": 1188,
368
+ "y": 21
369
+ }
370
+ }
blocks/classwise_blocks/operator_blocks.json ADDED
@@ -0,0 +1,409 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "operator_add": {
3
+ "opcode": "operator_add",
4
+ "next": null,
5
+ "parent": null,
6
+ "inputs": {
7
+ "NUM1": [
8
+ 1,
9
+ [
10
+ 4,
11
+ ""
12
+ ]
13
+ ],
14
+ "NUM2": [
15
+ 1,
16
+ [
17
+ 4,
18
+ ""
19
+ ]
20
+ ]
21
+ },
22
+ "fields": {},
23
+ "shadow": false,
24
+ "topLevel": true,
25
+ "x": 128,
26
+ "y": 153
27
+ },
28
+ "operator_subtract": {
29
+ "opcode": "operator_subtract",
30
+ "next": null,
31
+ "parent": null,
32
+ "inputs": {
33
+ "NUM1": [
34
+ 1,
35
+ [
36
+ 4,
37
+ ""
38
+ ]
39
+ ],
40
+ "NUM2": [
41
+ 1,
42
+ [
43
+ 4,
44
+ ""
45
+ ]
46
+ ]
47
+ },
48
+ "fields": {},
49
+ "shadow": false,
50
+ "topLevel": true,
51
+ "x": 134,
52
+ "y": 214
53
+ },
54
+ "operator_multiply": {
55
+ "opcode": "operator_multiply",
56
+ "next": null,
57
+ "parent": null,
58
+ "inputs": {
59
+ "NUM1": [
60
+ 1,
61
+ [
62
+ 4,
63
+ ""
64
+ ]
65
+ ],
66
+ "NUM2": [
67
+ 1,
68
+ [
69
+ 4,
70
+ ""
71
+ ]
72
+ ]
73
+ },
74
+ "fields": {},
75
+ "shadow": false,
76
+ "topLevel": true,
77
+ "x": 134,
78
+ "y": 278
79
+ },
80
+ "operator_divide": {
81
+ "opcode": "operator_divide",
82
+ "next": null,
83
+ "parent": null,
84
+ "inputs": {
85
+ "NUM1": [
86
+ 1,
87
+ [
88
+ 4,
89
+ ""
90
+ ]
91
+ ],
92
+ "NUM2": [
93
+ 1,
94
+ [
95
+ 4,
96
+ ""
97
+ ]
98
+ ]
99
+ },
100
+ "fields": {},
101
+ "shadow": false,
102
+ "topLevel": true,
103
+ "x": 138,
104
+ "y": 359
105
+ },
106
+ "operator_random": {
107
+ "opcode": "operator_random",
108
+ "next": null,
109
+ "parent": null,
110
+ "inputs": {
111
+ "FROM": [
112
+ 1,
113
+ [
114
+ 4,
115
+ "1"
116
+ ]
117
+ ],
118
+ "TO": [
119
+ 1,
120
+ [
121
+ 4,
122
+ "10"
123
+ ]
124
+ ]
125
+ },
126
+ "fields": {},
127
+ "shadow": false,
128
+ "topLevel": true,
129
+ "x": 311,
130
+ "y": 157
131
+ },
132
+ "operator_gt": {
133
+ "opcode": "operator_gt",
134
+ "next": null,
135
+ "parent": null,
136
+ "inputs": {
137
+ "OPERAND1": [
138
+ 1,
139
+ [
140
+ 10,
141
+ ""
142
+ ]
143
+ ],
144
+ "OPERAND2": [
145
+ 1,
146
+ [
147
+ 10,
148
+ "50"
149
+ ]
150
+ ]
151
+ },
152
+ "fields": {},
153
+ "shadow": false,
154
+ "topLevel": true,
155
+ "x": 348,
156
+ "y": 217
157
+ },
158
+ "operator_lt": {
159
+ "opcode": "operator_lt",
160
+ "next": null,
161
+ "parent": null,
162
+ "inputs": {
163
+ "OPERAND1": [
164
+ 1,
165
+ [
166
+ 10,
167
+ ""
168
+ ]
169
+ ],
170
+ "OPERAND2": [
171
+ 1,
172
+ [
173
+ 10,
174
+ "50"
175
+ ]
176
+ ]
177
+ },
178
+ "fields": {},
179
+ "shadow": false,
180
+ "topLevel": true,
181
+ "x": 345,
182
+ "y": 286
183
+ },
184
+ "operator_equals": {
185
+ "opcode": "operator_equals",
186
+ "next": null,
187
+ "parent": null,
188
+ "inputs": {
189
+ "OPERAND1": [
190
+ 1,
191
+ [
192
+ 10,
193
+ ""
194
+ ]
195
+ ],
196
+ "OPERAND2": [
197
+ 1,
198
+ [
199
+ 10,
200
+ "50"
201
+ ]
202
+ ]
203
+ },
204
+ "fields": {},
205
+ "shadow": false,
206
+ "topLevel": true,
207
+ "x": 345,
208
+ "y": 372
209
+ },
210
+ "operator_and": {
211
+ "opcode": "operator_and",
212
+ "next": null,
213
+ "parent": null,
214
+ "inputs": {},
215
+ "fields": {},
216
+ "shadow": false,
217
+ "topLevel": true,
218
+ "x": 701,
219
+ "y": 158
220
+ },
221
+ "operator_or": {
222
+ "opcode": "operator_or",
223
+ "next": null,
224
+ "parent": null,
225
+ "inputs": {},
226
+ "fields": {},
227
+ "shadow": false,
228
+ "topLevel": true,
229
+ "x": 705,
230
+ "y": 222
231
+ },
232
+ "operator_not": {
233
+ "opcode": "operator_not",
234
+ "next": null,
235
+ "parent": null,
236
+ "inputs": {},
237
+ "fields": {},
238
+ "shadow": false,
239
+ "topLevel": true,
240
+ "x": 734,
241
+ "y": 283
242
+ },
243
+ "operator_join": {
244
+ "opcode": "operator_join",
245
+ "next": null,
246
+ "parent": null,
247
+ "inputs": {
248
+ "STRING1": [
249
+ 1,
250
+ [
251
+ 10,
252
+ "apple "
253
+ ]
254
+ ],
255
+ "STRING2": [
256
+ 1,
257
+ [
258
+ 10,
259
+ "banana"
260
+ ]
261
+ ]
262
+ },
263
+ "fields": {},
264
+ "shadow": false,
265
+ "topLevel": true,
266
+ "x": 663,
267
+ "y": 378
268
+ },
269
+ "operator_letter_of": {
270
+ "opcode": "operator_letter_of",
271
+ "next": null,
272
+ "parent": null,
273
+ "inputs": {
274
+ "LETTER": [
275
+ 1,
276
+ [
277
+ 6,
278
+ "1"
279
+ ]
280
+ ],
281
+ "STRING": [
282
+ 1,
283
+ [
284
+ 10,
285
+ "apple"
286
+ ]
287
+ ]
288
+ },
289
+ "fields": {},
290
+ "shadow": false,
291
+ "topLevel": true,
292
+ "x": 664,
293
+ "y": 445
294
+ },
295
+ "operator_length": {
296
+ "opcode": "operator_length",
297
+ "next": null,
298
+ "parent": null,
299
+ "inputs": {
300
+ "STRING": [
301
+ 1,
302
+ [
303
+ 10,
304
+ "apple"
305
+ ]
306
+ ]
307
+ },
308
+ "fields": {},
309
+ "shadow": false,
310
+ "topLevel": true,
311
+ "x": 664,
312
+ "y": 521
313
+ },
314
+ "operator_contains": {
315
+ "opcode": "operator_contains",
316
+ "next": null,
317
+ "parent": null,
318
+ "inputs": {
319
+ "STRING1": [
320
+ 1,
321
+ [
322
+ 10,
323
+ "apple"
324
+ ]
325
+ ],
326
+ "STRING2": [
327
+ 1,
328
+ [
329
+ 10,
330
+ "a"
331
+ ]
332
+ ]
333
+ },
334
+ "fields": {},
335
+ "shadow": false,
336
+ "topLevel": true,
337
+ "x": 634,
338
+ "y": 599
339
+ },
340
+ "operator_mod": {
341
+ "opcode": "operator_mod",
342
+ "next": null,
343
+ "parent": null,
344
+ "inputs": {
345
+ "NUM1": [
346
+ 1,
347
+ [
348
+ 4,
349
+ ""
350
+ ]
351
+ ],
352
+ "NUM2": [
353
+ 1,
354
+ [
355
+ 4,
356
+ ""
357
+ ]
358
+ ]
359
+ },
360
+ "fields": {},
361
+ "shadow": false,
362
+ "topLevel": true,
363
+ "x": 295,
364
+ "y": 594
365
+ },
366
+ "operator_round": {
367
+ "opcode": "operator_round",
368
+ "next": null,
369
+ "parent": null,
370
+ "inputs": {
371
+ "NUM": [
372
+ 1,
373
+ [
374
+ 4,
375
+ ""
376
+ ]
377
+ ]
378
+ },
379
+ "fields": {},
380
+ "shadow": false,
381
+ "topLevel": true,
382
+ "x": 307,
383
+ "y": 674
384
+ },
385
+ "operator_mathop": {
386
+ "opcode": "operator_mathop",
387
+ "next": null,
388
+ "parent": null,
389
+ "inputs": {
390
+ "NUM": [
391
+ 1,
392
+ [
393
+ 4,
394
+ ""
395
+ ]
396
+ ]
397
+ },
398
+ "fields": {
399
+ "OPERATOR": [
400
+ "abs",
401
+ null
402
+ ]
403
+ },
404
+ "shadow": false,
405
+ "topLevel": true,
406
+ "x": 280,
407
+ "y": 754
408
+ }
409
+ }
blocks/classwise_blocks/sensing_block.json ADDED
@@ -0,0 +1,292 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "sensing_touchingobject": {
3
+ "opcode": "sensing_touchingobject",
4
+ "next": null,
5
+ "parent": null,
6
+ "inputs": {
7
+ "TOUCHINGOBJECTMENU": [
8
+ 1,
9
+ "xSKW9a+wTnM~h~So8Jc]"
10
+ ]
11
+ },
12
+ "fields": {},
13
+ "shadow": false,
14
+ "topLevel": true,
15
+ "x": 359,
16
+ "y": 116
17
+ },
18
+ "sensing_touchingobjectmenu": {
19
+ "opcode": "sensing_touchingobjectmenu",
20
+ "next": null,
21
+ "parent": "Y(n,F@BYzwd4CiN|Bh[P",
22
+ "inputs": {},
23
+ "fields": {
24
+ "TOUCHINGOBJECTMENU": [
25
+ "_mouse_",
26
+ null
27
+ ]
28
+ },
29
+ "shadow": true,
30
+ "topLevel": false
31
+ },
32
+ "sensing_touchingcolor": {
33
+ "opcode": "sensing_touchingcolor",
34
+ "next": null,
35
+ "parent": null,
36
+ "inputs": {
37
+ "COLOR": [
38
+ 1,
39
+ [
40
+ 9,
41
+ "#55b888"
42
+ ]
43
+ ]
44
+ },
45
+ "fields": {},
46
+ "shadow": false,
47
+ "topLevel": true,
48
+ "x": 360,
49
+ "y": 188
50
+ },
51
+ "sensing_coloristouchingcolor": {
52
+ "opcode": "sensing_coloristouchingcolor",
53
+ "next": null,
54
+ "parent": null,
55
+ "inputs": {
56
+ "COLOR": [
57
+ 1,
58
+ [
59
+ 9,
60
+ "#d019f2"
61
+ ]
62
+ ],
63
+ "COLOR2": [
64
+ 1,
65
+ [
66
+ 9,
67
+ "#2b0de3"
68
+ ]
69
+ ]
70
+ },
71
+ "fields": {},
72
+ "shadow": false,
73
+ "topLevel": true,
74
+ "x": 348,
75
+ "y": 277
76
+ },
77
+ "sensing_askandwait": {
78
+ "opcode": "sensing_askandwait",
79
+ "next": null,
80
+ "parent": null,
81
+ "inputs": {
82
+ "QUESTION": [
83
+ 1,
84
+ [
85
+ 10,
86
+ "What's your name?"
87
+ ]
88
+ ]
89
+ },
90
+ "fields": {},
91
+ "shadow": false,
92
+ "topLevel": true,
93
+ "x": 338,
94
+ "y": 354
95
+ },
96
+ "sensing_answer": {
97
+ "opcode": "sensing_answer",
98
+ "next": null,
99
+ "parent": null,
100
+ "inputs": {},
101
+ "fields": {},
102
+ "shadow": false,
103
+ "topLevel": true,
104
+ "x": 782,
105
+ "y": 111
106
+ },
107
+ "sensing_keypressed": {
108
+ "opcode": "sensing_keypressed",
109
+ "next": null,
110
+ "parent": null,
111
+ "inputs": {
112
+ "KEY_OPTION": [
113
+ 1,
114
+ "SNlf@Im$sv%.6ULi-f3i"
115
+ ]
116
+ },
117
+ "fields": {},
118
+ "shadow": false,
119
+ "topLevel": true,
120
+ "x": 762,
121
+ "y": 207
122
+ },
123
+ "sensing_keyoptions": {
124
+ "opcode": "sensing_keyoptions",
125
+ "next": null,
126
+ "parent": "7$xEUO.2hH2R6vh!$(Uj",
127
+ "inputs": {},
128
+ "fields": {
129
+ "KEY_OPTION": [
130
+ "space",
131
+ null
132
+ ]
133
+ },
134
+ "shadow": true,
135
+ "topLevel": false
136
+ },
137
+ "sensing_mousedown": {
138
+ "opcode": "sensing_mousedown",
139
+ "next": null,
140
+ "parent": null,
141
+ "inputs": {},
142
+ "fields": {},
143
+ "shadow": false,
144
+ "topLevel": true,
145
+ "x": 822,
146
+ "y": 422
147
+ },
148
+ "sensing_mousex": {
149
+ "opcode": "sensing_mousex",
150
+ "next": null,
151
+ "parent": null,
152
+ "inputs": {},
153
+ "fields": {},
154
+ "shadow": false,
155
+ "topLevel": true,
156
+ "x": 302,
157
+ "y": 528
158
+ },
159
+ "sensing_mousey": {
160
+ "opcode": "sensing_mousey",
161
+ "next": null,
162
+ "parent": null,
163
+ "inputs": {},
164
+ "fields": {},
165
+ "shadow": false,
166
+ "topLevel": true,
167
+ "x": 668,
168
+ "y": 547
169
+ },
170
+ "sensing_setdragmode": {
171
+ "opcode": "sensing_setdragmode",
172
+ "next": null,
173
+ "parent": null,
174
+ "inputs": {},
175
+ "fields": {
176
+ "DRAG_MODE": [
177
+ "draggable",
178
+ null
179
+ ]
180
+ },
181
+ "shadow": false,
182
+ "topLevel": true,
183
+ "x": 950,
184
+ "y": 574
185
+ },
186
+ "sensing_loudness": {
187
+ "opcode": "sensing_loudness",
188
+ "next": null,
189
+ "parent": null,
190
+ "inputs": {},
191
+ "fields": {},
192
+ "shadow": false,
193
+ "topLevel": true,
194
+ "x": 658,
195
+ "y": 703
196
+ },
197
+ "sensing_timer": {
198
+ "opcode": "sensing_timer",
199
+ "next": null,
200
+ "parent": null,
201
+ "inputs": {},
202
+ "fields": {},
203
+ "shadow": false,
204
+ "topLevel": true,
205
+ "x": 459,
206
+ "y": 671
207
+ },
208
+ "sensing_resettimer": {
209
+ "opcode": "sensing_resettimer",
210
+ "next": null,
211
+ "parent": null,
212
+ "inputs": {},
213
+ "fields": {},
214
+ "shadow": false,
215
+ "topLevel": true,
216
+ "x": 462,
217
+ "y": 781
218
+ },
219
+ "sensing_of": {
220
+ "opcode": "sensing_of",
221
+ "next": null,
222
+ "parent": null,
223
+ "inputs": {
224
+ "OBJECT": [
225
+ 1,
226
+ "t+o*y;iz,!O#aT|qM_+O"
227
+ ]
228
+ },
229
+ "fields": {
230
+ "PROPERTY": [
231
+ "backdrop #",
232
+ null
233
+ ]
234
+ },
235
+ "shadow": false,
236
+ "topLevel": true,
237
+ "x": 997,
238
+ "y": 754
239
+ },
240
+ "sensing_of_object_menu": {
241
+ "opcode": "sensing_of_object_menu",
242
+ "next": null,
243
+ "parent": "[4I2wIG/tNc@LQ-;FbsB",
244
+ "inputs": {},
245
+ "fields": {
246
+ "OBJECT": [
247
+ "_stage_",
248
+ null
249
+ ]
250
+ },
251
+ "shadow": true,
252
+ "topLevel": false
253
+ },
254
+ "sensing_current": {
255
+ "opcode": "sensing_current",
256
+ "next": null,
257
+ "parent": null,
258
+ "inputs": {},
259
+ "fields": {
260
+ "CURRENTMENU": [
261
+ "YEAR",
262
+ null
263
+ ]
264
+ },
265
+ "shadow": false,
266
+ "topLevel": true,
267
+ "x": 627,
268
+ "y": 884
269
+ },
270
+ "sensing_dayssince2000": {
271
+ "opcode": "sensing_dayssince2000",
272
+ "next": null,
273
+ "parent": null,
274
+ "inputs": {},
275
+ "fields": {},
276
+ "shadow": false,
277
+ "topLevel": true,
278
+ "x": 959,
279
+ "y": 903
280
+ },
281
+ "sensing_username": {
282
+ "opcode": "sensing_username",
283
+ "next": null,
284
+ "parent": null,
285
+ "inputs": {},
286
+ "fields": {},
287
+ "shadow": false,
288
+ "topLevel": true,
289
+ "x": 833,
290
+ "y": 757
291
+ }
292
+ }
blocks/classwise_blocks/sound_block.json ADDED
File without changes
blocks/excel_contetn/hat_block.xlsx ADDED
Binary file (10.5 kB). View file
 
blocks/excel_contetn/stack_block.xlsx ADDED
Binary file (12.5 kB). View file
 
blocks/hat_blocks.json ADDED
@@ -0,0 +1,217 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "block_category": "Hat Blocks",
3
+ "description": "Hat blocks are characterized by a rounded top and a bump at the bottom. They initiate scripts, meaning they are the starting point for a sequence of interconnected blocks.",
4
+ "blocks": [
5
+ {
6
+ "block_name": "when green flag pressed",
7
+ "block_type": "Events",
8
+ "op_code": "event_whenflagclicked",
9
+ "block_shape": "Hat Block",
10
+ "functionality": "This Hat block initiates the script when the green flag is clicked, serving as the common starting point for most Scratch projects.",
11
+ "inputs": null,
12
+ "example_standalone": "when green flag clicked",
13
+ "example_with_other_blocks": [
14
+ {
15
+ "script": "when green flag clicked\n go to x: (0) y: (0)\n say [Hello!] for (2) seconds\nend",
16
+ "explanation": "This script makes the sprite go to the center of the stage and then say 'Hello!' for 2 seconds when the green flag is clicked."
17
+ }
18
+ ]
19
+ },
20
+ {
21
+ "block_name": "when () key pressed",
22
+ "block_type": "Events",
23
+ "op_code": "event_whenkeypressed",
24
+ "block_shape": "Hat Block",
25
+ "functionality": "This Hat block initiates the script when a specified keyboard key is pressed.",
26
+ "inputs": [
27
+ {
28
+ "name": "key",
29
+ "type": "dropdown",
30
+ "options": [
31
+ "space",
32
+ "up arrow",
33
+ "down arrow",
34
+ "right arrow",
35
+ "left arrow",
36
+ "any",
37
+ "a",
38
+ "b",
39
+ "c",
40
+ "d",
41
+ "e",
42
+ "f",
43
+ "g",
44
+ "h",
45
+ "i",
46
+ "j",
47
+ "k",
48
+ "l",
49
+ "m",
50
+ "n",
51
+ "o",
52
+ "p",
53
+ "q",
54
+ "r",
55
+ "s",
56
+ "t",
57
+ "u",
58
+ "v",
59
+ "w",
60
+ "x",
61
+ "y",
62
+ "z",
63
+ "0",
64
+ "1",
65
+ "2",
66
+ "3",
67
+ "4",
68
+ "5",
69
+ "6",
70
+ "7",
71
+ "8",
72
+ "9"
73
+ ]
74
+ }
75
+ ],
76
+ "example_standalone": "when [space v] key pressed",
77
+ "example_with_other_blocks": [
78
+ {
79
+ "script": "when [space v] key pressed\n repeat (10)\n change y by (10)\n wait (0.1) seconds\n change y by (-10)\n end",
80
+ "explanation": "This script makes the sprite jump when the spacebar is pressed."
81
+ },
82
+ {
83
+ "script": "when [right arrow v] key pressed\n point in direction (90)\n move (10) steps\nend",
84
+ "explanation": "This script moves the sprite right when the right arrow key is pressed."
85
+ }
86
+ ]
87
+ },
88
+ {
89
+ "block_name": "when this sprite clicked",
90
+ "block_type": "Events",
91
+ "op_code": "event_whenthisspriteclicked",
92
+ "block_shape": "Hat Block",
93
+ "functionality": "This Hat block starts the script when the sprite itself is clicked.",
94
+ "inputs": null,
95
+ "example_standalone": "when this sprite clicked",
96
+ "example_with_other_blocks": [
97
+ {
98
+ "script": "when this sprite clicked\n say [Ouch!] for (1) seconds\n change [score v] by (-1)\nend",
99
+ "explanation": "This script makes the sprite say 'Ouch!' and decreases the score by 1 when the sprite is clicked."
100
+ }
101
+ ]
102
+ },
103
+ {
104
+ "block_name": "when backdrop switches to ()",
105
+ "block_type": "Events",
106
+ "op_code": "event_whenbackdropswitchesto",
107
+ "block_shape": "Hat Block",
108
+ "functionality": "This Hat block triggers the script when the stage backdrop changes to a specified backdrop.",
109
+ "inputs": [
110
+ {
111
+ "name": "backdrop name",
112
+ "type": "dropdown",
113
+ "options": ["backdrop1", "backdrop2", "..."]
114
+ }
115
+ ],
116
+ "example_standalone": "when backdrop switches to [game over v]",
117
+ "example_with_other_blocks": [
118
+ {
119
+ "script": "when backdrop switches to [game over v]\n stop [all v]\nend",
120
+ "explanation": "This script stops all running processes when the backdrop changes to 'game over'."
121
+ },
122
+ {
123
+ "script": "when backdrop switches to [level completed v]\n stop [all v]\nend",
124
+ "explanation": "This script stops all running processes when the backdrop changes to 'level completed'."
125
+ }
126
+ ]
127
+ },
128
+ {
129
+ "block_name": "when () > ()",
130
+ "block_type": "Events",
131
+ "op_code": "event_whengreaterthan",
132
+ "block_shape": "Hat Block",
133
+ "functionality": "This Hat block starts the script when a certain value (e.g., loudness from a microphone, or the timer) exceeds a defined threshold.",
134
+ "inputs": [
135
+ {
136
+ "name": "value type",
137
+ "type": "dropdown",
138
+ "options": [
139
+ "loudness",
140
+ "timer"
141
+ ]
142
+ },
143
+ {
144
+ "name": "threshold",
145
+ "type": "number"
146
+ }
147
+ ],
148
+ "example_standalone": "when [loudness v] > (70)",
149
+ "example_with_other_blocks": [
150
+ {
151
+ "script": "when [loudness v] > (70)\n start sound [scream v]\nend",
152
+ "explanation": "This script starts a 'scream' sound when the microphone loudness exceeds 70."
153
+ }
154
+ ]
155
+ },
156
+ {
157
+ "block_name": "when I receive ()",
158
+ "block_type": "Events",
159
+ "op_code": "event_whenbroadcastreceived",
160
+ "block_shape": "Hat Block",
161
+ "functionality": "This Hat block initiates the script upon the reception of a specific broadcast message. This mechanism facilitates indirect communication between sprites or the stage.",
162
+ "inputs": [
163
+ {
164
+ "name": "message name",
165
+ "type": "dropdown",
166
+ "options": ["message1", "message2", "new message..."]
167
+ }
168
+ ],
169
+ "example_standalone": "when I receive [start game v]",
170
+ "example_with_other_blocks": [
171
+ {
172
+ "script": "when I receive [start game v]\n show\n go to x: (0) y: (0)\nend",
173
+ "explanation": "This script makes the sprite visible and moves it to the center of the stage when it receives the 'start game' broadcast."
174
+ },
175
+ {
176
+ "script": "when I receive [game over v]\n set score to 0\n stop [all v]\nend",
177
+ "explanation": "This script stops all and resets the score on stage when it receives the 'game over' broadcast."
178
+ }
179
+ ]
180
+ },
181
+ {
182
+ "block_name": "When I Start as a Clone",
183
+ "block_type": "Control",
184
+ "op_code": "control_start_as_clone",
185
+ "block_shape": "Hat Block",
186
+ "functionality": "This Hat block initiates the script when a clone of the sprite is created. It defines the behavior of individual clones.",
187
+ "inputs": null,
188
+ "example_standalone": "When I Start as a Clone",
189
+ "example_with_other_blocks": [
190
+ {
191
+ "script": "when I start as a clone\n go to x: (pick random -240 to 240) y: (pick random -180 to 180)\n show\n forever\n move (10) steps\n if on edge, bounce\n end\nend",
192
+ "explanation": "This script makes a newly created clone appear at a random position, become visible, and then continuously move 10 steps, bouncing if it hits an edge."
193
+ }
194
+ ]
195
+ },
196
+ {
197
+ "block_name": "define [my custom block]",
198
+ "block_type": "My Blocks",
199
+ "op_code": "procedures_definition",
200
+ "block_shape": "Hat Block",
201
+ "functionality": "This Hat block serves as the definition header for a custom block's script. It allows users to define reusable sequences of code by specifying the block's name and any input parameters it will accept. This promotes modularity and abstraction in projects.",
202
+ "inputs": [
203
+ {
204
+ "name": "PROCCONTAINER",
205
+ "type": "block_prototype"
206
+ }
207
+ ],
208
+ "example_standalone": "define jump (height)",
209
+ "example_with_other_blocks": [
210
+ {
211
+ "script": "define jump (height)\n change y by (height)\n wait (0.5) seconds\n change y by (0 - (height))\nend\n\nwhen green flag clicked\n jump (50)\nend",
212
+ "explanation": "This script first defines a custom block named 'jump' that takes a numerical input 'height'. The definition outlines the actions for jumping up and then down. Later, 'jump (50)' is called to make the sprite jump 50 units."
213
+ }
214
+ ]
215
+ }
216
+ ]
217
+ }
blocks/reporter_blocks.json ADDED
@@ -0,0 +1,709 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "block_category": "Reporter Blocks",
3
+ "description": "Reporter blocks have rounded edges. Their purpose is to report values, which can be numbers or strings, and are designed to fit into input slots of other blocks.",
4
+ "blocks": [
5
+ {
6
+ "block_name": "x position",
7
+ "block_type": "Motion",
8
+ "op_code": "motion_xposition",
9
+ "block_shape": "Reporter Block",
10
+ "functionality": "Reports the current X-coordinate of the sprite.[NOTE: not used in stage/backdrops]",
11
+ "inputs": null,
12
+ "example_standalone": "x position",
13
+ "example_with_other_blocks": [
14
+ {
15
+ "script": "when green flag clicked\n say (x position) for (2) seconds\nend",
16
+ "explanation": "This script makes the sprite say its current X-coordinate for 2 seconds."
17
+ }
18
+ ]
19
+ },
20
+ {
21
+ "block_name": "y position",
22
+ "block_type": "Motion",
23
+ "op_code": "motion_yposition",
24
+ "block_shape": "Reporter Block",
25
+ "functionality": "Reports the current Y coordinate of the sprite on the stage.[NOTE: not used in stage/backdrops]",
26
+ "inputs": null,
27
+ "example_standalone": "y position",
28
+ "example_with_other_blocks": [
29
+ {
30
+ "script": "set [worms v] to (y position)",
31
+ "explanation": "This script assigns the sprite's current Y position to the 'worms' variable."
32
+ }
33
+ ]
34
+ },
35
+ {
36
+ "block_name": "direction",
37
+ "block_type": "Motion",
38
+ "op_code": "motion_direction",
39
+ "block_shape": "Reporter Block",
40
+ "functionality": "Reports the current direction of the sprite in degrees (0 = up, 90 = right, 180 = down, -90 = left).[NOTE: not used in stage/backdrops]",
41
+ "inputs": null,
42
+ "example_standalone": "direction",
43
+ "example_with_other_blocks": [
44
+ {
45
+ "script": "when green flag clicked\n say (direction) for (2) seconds\nend",
46
+ "explanation": "This script makes the sprite say its current direction in degrees for 2 seconds."
47
+ }
48
+ ]
49
+ },
50
+ {
51
+ "block_name": "costume ()",
52
+ "block_type": "Looks",
53
+ "op_code": "looks_costumenumbername",
54
+ "block_shape": "Reporter Block",
55
+ "functionality": "Reports the current costume's number or name.",
56
+ "inputs": [
57
+ {
58
+ "name": "NUMBER_NAME",
59
+ "type": "dropdown",
60
+ "options": [
61
+ "number",
62
+ "name"
63
+ ]
64
+ }
65
+ ],
66
+ "example_standalone": "costume [number v]",
67
+ "example_with_other_blocks": [
68
+ {
69
+ "script": "say join [I am costume ] (costume [name v])",
70
+ "explanation": "This script makes the sprite display its current costume name in a speech bubble."
71
+ }
72
+ ]
73
+ },
74
+ {
75
+ "block_name": "size",
76
+ "block_type": "Looks",
77
+ "op_code": "looks_size",
78
+ "block_shape": "Reporter Block",
79
+ "functionality": "Reports the current size of the sprite as a percentage.",
80
+ "inputs": null,
81
+ "example_standalone": "size",
82
+ "example_with_other_blocks": [
83
+ {
84
+ "script": "set size to ( (size) + (10) )",
85
+ "explanation": "This script increases the sprite's size by 10% from its current size."
86
+ }
87
+ ]
88
+ },
89
+ {
90
+ "block_name": "backdrop ()",
91
+ "block_type": "Looks",
92
+ "op_code": "looks_backdropnumbername",
93
+ "block_shape": "Reporter Block",
94
+ "functionality": "Reports the current backdrop's number or name.",
95
+ "inputs": [
96
+ {
97
+ "name": "NUMBER_NAME",
98
+ "type": "dropdown",
99
+ "options": [
100
+ "number",
101
+ "name"
102
+ ]
103
+ }
104
+ ],
105
+ "example_standalone": "backdrop [number v]",
106
+ "example_with_other_blocks": [
107
+ {
108
+ "script": "say join [Current backdrop: ] (backdrop [name v]) for (2) seconds",
109
+ "explanation": "This script makes the sprite say the name of the current stage backdrop for 2 seconds."
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "block_name": "volume",
115
+ "block_type": "Sound",
116
+ "op_code": "sound_volume",
117
+ "block_shape": "Reporter Block",
118
+ "functionality": "Reports the current volume level of the sprite.",
119
+ "inputs": null,
120
+ "example_standalone": "volume",
121
+ "example_with_other_blocks": [
122
+ {
123
+ "script": "say join [Current volume: ] (volume)",
124
+ "explanation": "This script makes the sprite display its current volume level in a speech bubble."
125
+ }
126
+ ]
127
+ },
128
+ {
129
+ "block_name": "distance to ()",
130
+ "block_type": "Sensing",
131
+ "op_code": "sensing_distanceto",
132
+ "block_shape": "Reporter Block",
133
+ "functionality": "Reports the distance from the current sprite to the mouse-pointer or another specified sprite.",
134
+ "inputs": [
135
+ {
136
+ "name": "target",
137
+ "type": "dropdown",
138
+ "options": ["mouse-pointer", "Sprite1", "Sprite2", "...", "_edge_"]
139
+ }
140
+ ],
141
+ "example_standalone": "distance to [mouse-pointer v]",
142
+ "example_with_other_blocks": [
143
+ {
144
+ "script": "if <(distance to [Sprite2 v]) < (50)> then\n say [Too close!]\nend",
145
+ "explanation": "This script makes the sprite say 'Too close!' if it is less than 50 steps away from 'Sprite2'."
146
+ }
147
+ ]
148
+ },
149
+ {
150
+ "block_name": "answer",
151
+ "block_type": "Sensing",
152
+ "op_code": "sensing_answer",
153
+ "block_shape": "Reporter Block",
154
+ "functionality": "Holds the most recent text inputted using the 'Ask () and Wait' block.",
155
+ "inputs": null,
156
+ "example_standalone": "answer",
157
+ "example_with_other_blocks": [
158
+ {
159
+ "script": "ask [What is your name?] and wait\n say join [Hello ] (answer)",
160
+ "explanation": "This script prompts the user for their name and then uses the 'answer' block to incorporate their input into a greeting."
161
+ }
162
+ ]
163
+ },
164
+ {
165
+ "block_name": "mouse x",
166
+ "block_type": "Sensing",
167
+ "op_code": "sensing_mousex",
168
+ "block_shape": "Reporter Block",
169
+ "functionality": "Reports the mouse-pointer’s current X position on the stage.",
170
+ "inputs": null,
171
+ "example_standalone": "mouse x",
172
+ "example_with_other_blocks": [
173
+ {
174
+ "script": "go to x: (mouse x) y: (mouse y)",
175
+ "explanation": "This script makes the sprite follow the mouse pointer's X and Y coordinates."
176
+ }
177
+ ]
178
+ },
179
+ {
180
+ "block_name": "mouse y",
181
+ "block_type": "Sensing",
182
+ "op_code": "sensing_mousey",
183
+ "block_shape": "Reporter Block",
184
+ "functionality": "Reports the mouse-pointer’s current Y position on the stage.",
185
+ "inputs": null,
186
+ "example_standalone": "mouse y",
187
+ "example_with_other_blocks": [
188
+ {
189
+ "script": "if <(mouse y) < (0)> then\n say [Below center]",
190
+ "explanation": "This script makes the sprite say 'Below center' if the mouse pointer is in the lower half of the stage."
191
+ }
192
+ ]
193
+ },
194
+ {
195
+ "block_name": "loudness",
196
+ "block_type": "Sensing",
197
+ "op_code": "sensing_loudness",
198
+ "block_shape": "Reporter Block",
199
+ "functionality": "Reports the loudness of noise received by a microphone on a scale of 0 to 100.",
200
+ "inputs": null,
201
+ "example_standalone": "loudness",
202
+ "example_with_other_blocks": [
203
+ {
204
+ "script": "when green flag clicked\n forever\n if <(loudness) > (30)> then\n start sound [pop v]\nend",
205
+ "explanation": "This script continuously checks the microphone loudness and plays a 'pop' sound if it exceeds 30."
206
+ }
207
+ ]
208
+ },
209
+ {
210
+ "block_name": "timer",
211
+ "block_type": "Sensing",
212
+ "op_code": "sensing_timer",
213
+ "block_shape": "Reporter Block",
214
+ "functionality": "Reports the elapsed time since Scratch was launched or the timer was reset, increasing by 1 every second.",
215
+ "inputs": null,
216
+ "example_standalone": "timer",
217
+ "example_with_other_blocks": [
218
+ {
219
+ "script": "when green flag clicked\n reset timer\n wait (5) seconds\n say join [Time elapsed: ] (timer)",
220
+ "explanation": "This script resets the timer when the green flag is clicked, waits for 5 seconds, and then reports the elapsed time."
221
+ }
222
+ ]
223
+ },
224
+ {
225
+ "block_name": "() of ()",
226
+ "block_type": "Sensing",
227
+ "op_code": "sensing_of",
228
+ "block_shape": "Reporter Block",
229
+ "functionality": "Reports a specified value (e.g., x position, direction, costume number) of a specified sprite or the Stage to be accessed in current sprite or stage.",
230
+ "inputs": [
231
+ {
232
+ "name": "value to report",
233
+ "type": "dropdown",
234
+ "options": [
235
+ "x position",
236
+ "y position",
237
+ "direction",
238
+ "costume #",
239
+ "costume name",
240
+ "size",
241
+ "volume",
242
+ "backdrop #",
243
+ "backdrop name"
244
+ ]
245
+ },
246
+ {
247
+ "name": "sprite/stage",
248
+ "type": "dropdown",
249
+ "options": ["Stage", "Sprite1", "Sprite2", "...", "_edge_"]
250
+ }
251
+ ],
252
+ "example_standalone": "x position of [Sprite1 v]",
253
+ "example_with_other_blocks": [
254
+ {
255
+ "script": "set [other sprite X v] to ( (x position) of [Sprite2 v] )",
256
+ "explanation": "This script sets the 'other sprite X' variable to the current X-position of 'Sprite2'."
257
+ }
258
+ ]
259
+ },
260
+ {
261
+ "block_name": "current ()",
262
+ "block_type": "Sensing",
263
+ "op_code": "sensing_current",
264
+ "block_shape": "Reporter Block",
265
+ "functionality": "Reports the current local year, month, date, day of the week, hour, minutes, or seconds.",
266
+ "inputs": [
267
+ {
268
+ "name": "time unit",
269
+ "type": "dropdown",
270
+ "options": [
271
+ "year",
272
+ "month",
273
+ "date",
274
+ "day of week",
275
+ "hour",
276
+ "minute",
277
+ "second"
278
+ ]
279
+ }
280
+ ],
281
+ "example_standalone": "current [hour v]",
282
+ "example_with_other_blocks": [
283
+ {
284
+ "script": "say join [The current hour is ] (current [hour v])",
285
+ "explanation": "This script makes the sprite say the current hour."
286
+ }
287
+ ]
288
+ },
289
+ {
290
+ "block_name": "days since 2000",
291
+ "block_type": "Sensing",
292
+ "op_code": "sensing_dayssince2000",
293
+ "block_shape": "Reporter Block",
294
+ "functionality": "Reports the number of days (and fractions of a day) since 00:00:00 UTC on January 1, 2000.",
295
+ "inputs": null,
296
+ "example_standalone": "days since 2000",
297
+ "example_with_other_blocks": [
298
+ {
299
+ "script": "say join [Days passed: ] (days since 2000)",
300
+ "explanation": "This script makes the sprite display the number of days that have passed since January 1, 2000."
301
+ }
302
+ ]
303
+ },
304
+ {
305
+ "block_name": "username",
306
+ "block_type": "Sensing",
307
+ "op_code": "sensing_username",
308
+ "block_shape": "Reporter Block",
309
+ "functionality": "Reports the username of the user currently logged into Scratch. If no user is logged in, it reports nothing.",
310
+ "inputs": null,
311
+ "example_standalone": "username",
312
+ "example_with_other_blocks": [
313
+ {
314
+ "script": "say join [Hello, ] (username)",
315
+ "explanation": "This script makes the sprite greet the user by their Scratch username."
316
+ }
317
+ ]
318
+ },
319
+ {
320
+ "block_name": "() + ()",
321
+ "block_type": "operator",
322
+ "op_code": "operator_add",
323
+ "block_shape": "Reporter Block",
324
+ "functionality": "Adds two numerical values.",
325
+ "inputs": [
326
+ {
327
+ "name": "number1",
328
+ "type": "number"
329
+ },
330
+ {
331
+ "name": "number2",
332
+ "type": "number"
333
+ }
334
+ ],
335
+ "example_standalone": "(5) + (3)",
336
+ "example_with_other_blocks": [
337
+ {
338
+ "script": "set [total v] to ( (number 1) + (number 2) )",
339
+ "explanation": "This script calculates the sum of 'number 1' and 'number 2' and stores the result in the 'total' variable."
340
+ }
341
+ ]
342
+ },
343
+ {
344
+ "block_name": "() - ()",
345
+ "block_type": "operator",
346
+ "op_code": "operator_subtract",
347
+ "block_shape": "Reporter Block",
348
+ "functionality": "Subtracts the second numerical value from the first.",
349
+ "inputs": [
350
+ {
351
+ "name": "number1",
352
+ "type": "number"
353
+ },
354
+ {
355
+ "name": "number2",
356
+ "type": "number"
357
+ }
358
+ ],
359
+ "example_standalone": "(10) - (4)",
360
+ "example_with_other_blocks": [
361
+ {
362
+ "script": "set [difference v] to ( (number 1) - (number 2) )",
363
+ "explanation": "This script calculates the subtraction of 'number 2' from 'number 1' and stores the result in the 'difference' variable."
364
+ }
365
+ ]
366
+ },
367
+ {
368
+ "block_name": "() * ()",
369
+ "block_type": "operator",
370
+ "op_code": "operator_multiply",
371
+ "block_shape": "Reporter Block",
372
+ "functionality": "Multiplies two numerical values.",
373
+ "inputs": [
374
+ {
375
+ "name": "number1",
376
+ "type": "number"
377
+ },
378
+ {
379
+ "name": "number2",
380
+ "type": "number"
381
+ }
382
+ ],
383
+ "example_standalone": "(6) * (7)",
384
+ "example_with_other_blocks": [
385
+ {
386
+ "script": "set [area v] to ( (length) * (width) )",
387
+ "explanation": "This script calculates the area by multiplying 'length' and 'width' variables and stores it in the 'area' variable."
388
+ }
389
+ ]
390
+ },
391
+ {
392
+ "block_name": "() / ()",
393
+ "block_type": "operator",
394
+ "op_code": "operator_divide",
395
+ "block_shape": "Reporter Block",
396
+ "functionality": "Divides the first numerical value by the second.",
397
+ "inputs": [
398
+ {
399
+ "name": "number1",
400
+ "type": "number"
401
+ },
402
+ {
403
+ "name": "number2",
404
+ "type": "number"
405
+ }
406
+ ],
407
+ "example_standalone": "(20) / (5)",
408
+ "example_with_other_blocks": [
409
+ {
410
+ "script": "set [average v] to ( (total score) / (number of students) )",
411
+ "explanation": "This script calculates the average by dividing 'total score' by 'number of students' and stores it in the 'average' variable."
412
+ }
413
+ ]
414
+ },
415
+ {
416
+ "block_name": "pick random () to ()",
417
+ "block_type": "operator",
418
+ "op_code": "operator_random",
419
+ "block_shape": "Reporter Block",
420
+ "functionality": "Generates a random integer within a specified inclusive range.",
421
+ "inputs": [
422
+ {
423
+ "name": "min",
424
+ "type": "number"
425
+ },
426
+ {
427
+ "name": "max",
428
+ "type": "number"
429
+ }
430
+ ],
431
+ "example_standalone": "pick random (1) to (10)",
432
+ "example_with_other_blocks": [
433
+ {
434
+ "script": "go to x: (pick random -240 to 240) y: (pick random -180 to 180)",
435
+ "explanation": "This script moves the sprite to a random position on the stage."
436
+ }
437
+ ]
438
+ },
439
+ {
440
+ "block_name": "join ()()",
441
+ "block_type": "operator",
442
+ "op_code": "operator_join",
443
+ "block_shape": "Reporter Block",
444
+ "functionality": "Concatenates two strings or values into a single string.",
445
+ "inputs": [
446
+ {
447
+ "name": "string1",
448
+ "type": "string/number"
449
+ },
450
+ {
451
+ "name": "string2",
452
+ "type": "string/number"
453
+ }
454
+ ],
455
+ "example_standalone": "join [Hello ][World!]",
456
+ "example_with_other_blocks": [
457
+ {
458
+ "script": "say join [Hello ][World!]",
459
+ "explanation": "This script makes the sprite display 'Hello World!' in a speech bubble by joining two string literals."
460
+ }
461
+ ]
462
+ },
463
+ {
464
+ "block_name": "letter () of ()",
465
+ "block_type": "operator",
466
+ "op_code": "operator_letterof",
467
+ "block_shape": "Reporter Block",
468
+ "functionality": "Reports the character at a specific numerical position within a string.",
469
+ "inputs": [
470
+ {
471
+ "name": "index",
472
+ "type": "number"
473
+ },
474
+ {
475
+ "name": "text",
476
+ "type": "string"
477
+ }
478
+ ],
479
+ "example_standalone": "letter (1) of [apple]",
480
+ "example_with_other_blocks": [
481
+ {
482
+ "script": "say letter (1) of [apple]",
483
+ "explanation": "This script makes the sprite display the first character of the string 'apple', which is 'a'."
484
+ }
485
+ ]
486
+ },
487
+ {
488
+ "block_name": "length of ()",
489
+ "block_type": "operator",
490
+ "op_code": "operator_length",
491
+ "block_shape": "Reporter Block",
492
+ "functionality": "Reports the total number of characters in a given string.",
493
+ "inputs": [
494
+ {
495
+ "name": "text",
496
+ "type": "string"
497
+ }
498
+ ],
499
+ "example_standalone": "length of [banana]",
500
+ "example_with_other_blocks": [
501
+ {
502
+ "script": "say length of [banana]",
503
+ "explanation": "This script makes the sprite display the length of the string 'banana', which is 6."
504
+ }
505
+ ]
506
+ },
507
+ {
508
+ "block_name": "() mod ()",
509
+ "block_type": "operator",
510
+ "op_code": "operator_mod",
511
+ "block_shape": "Reporter Block",
512
+ "functionality": "Reports the remainder when the first number is divided by the second.",
513
+ "inputs": [
514
+ {
515
+ "name": "number1",
516
+ "type": "number"
517
+ },
518
+ {
519
+ "name": "number2",
520
+ "type": "number"
521
+ }
522
+ ],
523
+ "example_standalone": "(10) mod (3)",
524
+ "example_with_other_blocks": [
525
+ {
526
+ "script": "if <(number) mod (2) = (0)> then\n say [Even number]",
527
+ "explanation": "This script checks if a 'number' variable is even by checking if its remainder when divided by 2 is 0."
528
+ }
529
+ ]
530
+ },
531
+ {
532
+ "block_name": "round ()",
533
+ "block_type": "operator",
534
+ "op_code": "operator_round",
535
+ "block_shape": "Reporter Block",
536
+ "functionality": "Rounds a numerical value to the nearest integer.",
537
+ "inputs": [
538
+ {
539
+ "name": "number",
540
+ "type": "number"
541
+ }
542
+ ],
543
+ "example_standalone": "round (3.7)",
544
+ "example_with_other_blocks": [
545
+ {
546
+ "script": "set [rounded score v] to (round (score))",
547
+ "explanation": "This script rounds the 'score' variable to the nearest whole number and stores it in 'rounded score'."
548
+ }
549
+ ]
550
+ },
551
+ {
552
+ "block_name": "() of ()",
553
+ "block_type": "operator",
554
+ "op_code": "operator_mathop",
555
+ "block_shape": "Reporter Block",
556
+ "functionality": "Performs various mathematical functions (e.g., absolute value, square root, trigonometric functions).",
557
+ "inputs": [
558
+ {
559
+ "name": "function type",
560
+ "type": "dropdown",
561
+ "options": [
562
+ "abs",
563
+ "floor",
564
+ "ceiling",
565
+ "sqrt",
566
+ "sin",
567
+ "cos",
568
+ "tan",
569
+ "asin",
570
+ "acos",
571
+ "atan",
572
+ "ln",
573
+ "log",
574
+ "e ^",
575
+ "10 ^"
576
+ ]
577
+ },
578
+ {
579
+ "name": "value",
580
+ "type": "number"
581
+ }
582
+ ],
583
+ "example_standalone": "([sqrt v] of (25))",
584
+ "example_with_other_blocks": [
585
+ {
586
+ "script": "set [distance v] to ([sqrt v] of ( ( (x position) * (x position) ) + ( (y position) * (y position) ) ))",
587
+ "explanation": "This script calculates the distance from the origin (0,0) using the Pythagorean theorem and stores it in 'distance'."
588
+ }
589
+ ]
590
+ },
591
+ {
592
+ "block_name": "variable",
593
+ "block_type": "Data",
594
+ "op_code": "data_variable",
595
+ "block_shape": "Reporter Block",
596
+ "functionality": "Provides the current value stored in a variable.",
597
+ "inputs": [
598
+ {
599
+ "name": "variable name",
600
+ "type": "dropdown",
601
+ "options": ["my variable", "score", "..."]
602
+ }
603
+ ],
604
+ "example_standalone": "score",
605
+ "example_with_other_blocks": [
606
+ {
607
+ "script": "say (score) for (2) seconds",
608
+ "explanation": "This script makes the sprite say the current value of the 'score' variable for 2 seconds."
609
+ }
610
+ ]
611
+ },
612
+ {
613
+ "block_name": "list",
614
+ "block_type": "Data",
615
+ "op_code": "data_list",
616
+ "block_shape": "Reporter Block",
617
+ "functionality": "Reports the entire content of a specified list. When clicked in the editor, it displays the list as a monitor.",
618
+ "inputs": [
619
+ {
620
+ "name": "list name",
621
+ "type": "dropdown",
622
+ "options": ["my list", "list2", "..."]
623
+ }
624
+ ],
625
+ "example_standalone": "my list",
626
+ "example_with_other_blocks": [
627
+ {
628
+ "script": "say (my list)",
629
+ "explanation": "This script makes the sprite say all the contents of 'my list'."
630
+ }
631
+ ]
632
+ },
633
+ {
634
+ "block_name": "item () of ()",
635
+ "block_type": "Data",
636
+ "op_code": "data_itemoflist",
637
+ "block_shape": "Reporter Block",
638
+ "functionality": "Reports the item located at a specific position in a list.",
639
+ "inputs": [
640
+ {
641
+ "name": "index/option",
642
+ "type": "number or dropdown",
643
+ "options": [
644
+ "last",
645
+ "random"
646
+ ]
647
+ },
648
+ {
649
+ "name": "list name",
650
+ "type": "dropdown",
651
+ "options": ["shopping list", "my list", "..."]
652
+ }
653
+ ],
654
+ "example_standalone": "item (1) of [shopping list v]",
655
+ "example_with_other_blocks": [
656
+ {
657
+ "script": "say item (1) of [shopping list v]",
658
+ "explanation": "This script makes the sprite display the first item from the 'shopping list'."
659
+ }
660
+ ]
661
+ },
662
+ {
663
+ "block_name": "length of () (list)",
664
+ "block_type": "Data",
665
+ "op_code": "data_lengthoflist",
666
+ "block_shape": "Reporter Block",
667
+ "functionality": "Provides the total number of items contained in a list.",
668
+ "inputs": [
669
+ {
670
+ "name": "list name",
671
+ "type": "dropdown",
672
+ "options": ["my list", "shopping list", "..."]
673
+ }
674
+ ],
675
+ "example_standalone": "length of [my list v]",
676
+ "example_with_other_blocks": [
677
+ {
678
+ "script": "say join (length of [shopping list v]) [ items in the list.]",
679
+ "explanation": "This script makes the sprite display the total number of items currently in the 'shopping list'."
680
+ }
681
+ ]
682
+ },
683
+ {
684
+ "block_name": "item # of () in ()",
685
+ "block_type": "Data",
686
+ "op_code": "data_itemnumoflist",
687
+ "block_shape": "Reporter Block",
688
+ "functionality": "Reports the index number of the first occurrence of a specified item in a list. If the item is not found, it reports 0.",
689
+ "inputs": [
690
+ {
691
+ "name": "item",
692
+ "type": "string/number"
693
+ },
694
+ {
695
+ "name": "list name",
696
+ "type": "dropdown",
697
+ "options": ["my list", "shopping list", "..."]
698
+ }
699
+ ],
700
+ "example_standalone": "item # of [apple] in [shopping list v]",
701
+ "example_with_other_blocks": [
702
+ {
703
+ "script": "if <(item # of [banana] in [my list v]) > (0)> then\n say join [Banana found at position ] (item # of [banana] in [my list v])",
704
+ "explanation": "This script checks if 'banana' is in 'my list' and, if so, reports its position."
705
+ }
706
+ ]
707
+ }
708
+ ]
709
+ }
blocks/stack_blocks.json ADDED
@@ -0,0 +1,1316 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "block_category": "Stack Blocks",
3
+ "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.",
4
+ "blocks": [
5
+ {
6
+ "block_name": "move () steps",
7
+ "block_type": "Motion",
8
+ "block_shape": "Stack Block",
9
+ "op_code": "motion_movesteps",
10
+ "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.",
11
+ "inputs": [
12
+ {
13
+ "name": "STEPS",
14
+ "type": "number"
15
+ }
16
+ ],
17
+ "example_standalone": "move () steps",
18
+ "example_with_other_blocks": [
19
+ {
20
+ "script": "when green flag clicked\n go to x: (0) y: (0)\n point in direction (90)\n move (50) steps\nend",
21
+ "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."
22
+ }
23
+ ]
24
+ },
25
+ {
26
+ "block_name": "turn right () degrees",
27
+ "block_type": "Motion",
28
+ "block_shape": "Stack Block",
29
+ "op_code": "motion_turnright",
30
+ "functionality": "Turns the sprite clockwise by the specified number of degrees.",
31
+ "inputs": [
32
+ {
33
+ "name": "DEGREES",
34
+ "type": "number"
35
+ }
36
+ ],
37
+ "example_standalone": "turn (clockwise icon) (15) degrees",
38
+ "example_with_other_blocks": [
39
+ {
40
+ "script": "when [right arrow v] key pressed\n turn (clockwise icon) (15) degrees\nend",
41
+ "explanation": "This script makes the sprite turn clockwise by 15 degrees every time the right arrow key is pressed."
42
+ },
43
+ {
44
+ "script": "when green flag clicked\n forever\n turn (clockwise icon) (15) degrees\n wait (0.5) seconds\n end",
45
+ "explanation": "This script makes the sprite continuously spin clockwise by 15 degrees every half second."
46
+ }
47
+ ]
48
+ },
49
+ {
50
+ "block_name": "turn left () degrees",
51
+ "block_type": "Motion",
52
+ "block_shape": "Stack Block",
53
+ "op_code": "motion_turnleft",
54
+ "functionality": "Turns the sprite counter-clockwise by the specified number of degrees.",
55
+ "inputs": [
56
+ {
57
+ "name": "DEGREES",
58
+ "type": "number"
59
+ }
60
+ ],
61
+ "example_standalone": "turn (counter-clockwise icon) (15) degrees",
62
+ "example_with_other_blocks": [
63
+ {
64
+ "script": "when [left arrow v] key pressed\n turn (counter-clockwise icon) (15) degrees\nend",
65
+ "explanation": "This script makes the sprite turn counter-clockwise by 15 degrees every time the left arrow key is pressed."
66
+ },
67
+ {
68
+ "script": "when green flag clicked\n forever\n turn (counter-clockwise icon) (15) degrees\n wait (0.5) seconds\n end\nend",
69
+ "explanation": "This script makes the sprite continuously spin counter-clockwise by 15 degrees every half second."
70
+ }
71
+ ]
72
+ },
73
+ {
74
+ "block_name": "go to ()",
75
+ "block_type": "Motion",
76
+ "block_shape": "Stack Block",
77
+ "op_code": "motion_goto",
78
+ "functionality": "Moves the sprite to a specified location, which can be a random position, the mouse pointer, or another sprite.",
79
+ "inputs": [
80
+ {
81
+ "name": "TO",
82
+ "type": "dropdown",
83
+ "options": [
84
+ "random position",
85
+ "mouse-pointer",
86
+ "sprite1",
87
+ "..."
88
+ ]
89
+ }
90
+ ],
91
+ "example_standalone": "go to [random position v]",
92
+ "example_with_other_blocks": [
93
+ {
94
+ "script": "when this sprite clicked\n go to [mouse-pointer v]",
95
+ "explanation": "This script moves the sprite to the current position of the mouse pointer whenever the sprite is clicked."
96
+ }
97
+ ]
98
+ },
99
+ {
100
+ "block_name": "go to x: () y: ()",
101
+ "block_type": "Motion",
102
+ "block_shape": "Stack Block",
103
+ "op_code": "motion_gotoxy",
104
+ "functionality": "Moves the sprite to the specified X and Y coordinates on the stage.",
105
+ "inputs": [
106
+ {
107
+ "name": "X",
108
+ "type": "number"
109
+ },
110
+ {
111
+ "name": "Y",
112
+ "type": "number"
113
+ }
114
+ ],
115
+ "example_standalone": "go to x: (0) y: (0)",
116
+ "example_with_other_blocks": [
117
+ {
118
+ "script": "when green flag clicked\n go to x: (0) y: (0)\n say [Ready to start! v] for (1) seconds\nend",
119
+ "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!'."
120
+ }
121
+ ]
122
+ },
123
+ {
124
+ "block_name": "glide () secs to ()",
125
+ "block_type": "Motion",
126
+ "block_shape": "Stack Block",
127
+ "op_code": "motion_glideto",
128
+ "functionality": "Glides the sprite smoothly to a specified location (random position, mouse pointer, or another sprite) over a given number of seconds.",
129
+ "inputs": [
130
+ {
131
+ "name": "SECS",
132
+ "type": "number"
133
+ },
134
+ {
135
+ "name": "TO",
136
+ "type": "dropdown",
137
+ "options": [
138
+ "random position",
139
+ "mouse-pointer",
140
+ "sprite1",
141
+ "..."
142
+ ]
143
+ }
144
+ ],
145
+ "example_standalone": "glide (1) secs to [random position v]",
146
+ "example_with_other_blocks": [
147
+ {
148
+ "script": "when green flag clicked\n glide (1) secs to [mouse-pointer v]\nend",
149
+ "explanation": "This script makes the sprite glide smoothly to the mouse pointer's position over 1 second when the green flag is clicked."
150
+ }
151
+ ]
152
+ },
153
+ {
154
+ "block_name": "glide () secs to x: () y: ()",
155
+ "block_type": "Motion",
156
+ "block_shape": "Stack Block",
157
+ "op_code": "motion_glidesecstoxy",
158
+ "functionality": "Glides the sprite smoothly to the specified X and Y coordinates over a given number of seconds.",
159
+ "inputs": [
160
+ {
161
+ "name": "SECS",
162
+ "type": "number"
163
+ },
164
+ {
165
+ "name": "X",
166
+ "type": "number"
167
+ },
168
+ {
169
+ "name": "Y",
170
+ "type": "number"
171
+ }
172
+ ],
173
+ "example_standalone": "glide (1) secs to x: (100) y: (50)",
174
+ "example_with_other_blocks": [
175
+ {
176
+ "script": "when green flag clicked\n glide (2) secs to x: (150) y: (-100)\n glide (2) secs to x: (-150) y: (100)\nend",
177
+ "explanation": "This script makes the sprite glide to two different points on the stage, taking 2 seconds for each movement."
178
+ }
179
+ ]
180
+ },
181
+ {
182
+ "block_name": "point in direction ()",
183
+ "block_type": "Motion",
184
+ "block_shape": "Stack Block",
185
+ "op_code": "motion_pointindirection",
186
+ "functionality": "Sets the sprite's direction to a specified angle in degrees (0 = up, 90 = right, 180 = down, -90 = left).",
187
+ "inputs": [
188
+ {
189
+ "name": "DIRECTION",
190
+ "type": "number"
191
+ }
192
+ ],
193
+ "example_standalone": "point in direction (90)",
194
+ "example_with_other_blocks": [
195
+ {
196
+ "script": "when green flag clicked\n point in direction (0)\n move (100) steps\nend",
197
+ "explanation": "This script makes the sprite point upwards (0 degrees) and then move 100 steps in that direction."
198
+ }
199
+ ]
200
+ },
201
+ {
202
+ "block_name": "point towards ()",
203
+ "block_type": "Motion",
204
+ "block_shape": "Stack Block",
205
+ "op_code": "motion_pointtowards",
206
+ "functionality": "Points the sprite towards the mouse pointer or another specified sprite.",
207
+ "inputs": [
208
+ {
209
+ "name": "TOWARDS",
210
+ "type": "dropdown",
211
+ "options": [
212
+ "mouse-pointer",
213
+ "sprite1",
214
+ "..."
215
+ ]
216
+ }
217
+ ],
218
+ "example_standalone": "point towards [mouse-pointer v]",
219
+ "example_with_other_blocks": [
220
+ {
221
+ "script": "when this sprite clicked\n point towards [mouse-pointer v]\n move (10) steps\nend",
222
+ "explanation": "When the sprite is clicked, it will point towards the mouse pointer and then move 10 steps in that direction."
223
+ },
224
+ {
225
+ "script": "when green flag clicked\n forever\n point towards [mouse-pointer v]\n move (5) steps\n end\nend",
226
+ "explanation": "This script makes the sprite continuously follow the mouse pointer."
227
+ }
228
+ ]
229
+ },
230
+ {
231
+ "block_name": "change x by ()",
232
+ "block_type": "Motion",
233
+ "block_shape": "Stack Block",
234
+ "op_code": "motion_changexby",
235
+ "functionality": "Changes the sprite's X-coordinate by the specified amount, moving it horizontally.",
236
+ "inputs": [
237
+ {
238
+ "name": "DX",
239
+ "type": "number"
240
+ }
241
+ ],
242
+ "example_standalone": "change x by (10)",
243
+ "example_with_other_blocks": [
244
+ {
245
+ "script": "when [right arrow v] key pressed\n change x by (10)\nend",
246
+ "explanation": "This script moves the sprite 10 steps to the right when the right arrow key is pressed."
247
+ }
248
+ ]
249
+ },
250
+ {
251
+ "block_name": "set x to ()",
252
+ "block_type": "Motion",
253
+ "block_shape": "Stack Block",
254
+ "op_code": "motion_setx",
255
+ "functionality": "Sets the sprite's X-coordinate to a specific value, placing it at a precise horizontal position.",
256
+ "inputs": [
257
+ {
258
+ "name": "X",
259
+ "type": "number"
260
+ }
261
+ ],
262
+ "example_standalone": "set x to (0)",
263
+ "example_with_other_blocks": [
264
+ {
265
+ "script": "when green flag clicked\n set x to (0)\n set y to (0)\nend",
266
+ "explanation": "This script centers the sprite horizontally at the start of the project."
267
+ }
268
+ ]
269
+ },
270
+ {
271
+ "block_name": "change y by ()",
272
+ "block_type": "Motion",
273
+ "block_shape": "Stack Block",
274
+ "op_code": "motion_changeyby",
275
+ "functionality": "Changes the sprite's Y-coordinate by the specified amount, moving it vertically.",
276
+ "inputs": [
277
+ {
278
+ "name": "DY",
279
+ "type": "number"
280
+ }
281
+ ],
282
+ "example_standalone": "change y by (10)",
283
+ "example_with_other_blocks": [
284
+ {
285
+ "script": "when [up arrow v] key pressed\n change y by (10)\nend",
286
+ "explanation": "This script moves the sprite 10 steps up when the up arrow key is pressed."
287
+ }
288
+ ]
289
+ },
290
+ {
291
+ "block_name": "set y to ()",
292
+ "block_type": "Motion",
293
+ "block_shape": "Stack Block",
294
+ "op_code": "motion_sety",
295
+ "functionality": "Sets the sprite's Y-coordinate to a specific value, placing it at a precise vertical position.",
296
+ "inputs": [
297
+ {
298
+ "name": "Y",
299
+ "type": "number"
300
+ }
301
+ ],
302
+ "example_standalone": "set y to (0)",
303
+ "example_with_other_blocks": [
304
+ {
305
+ "script": "when green flag clicked\n set x to (0)\n set y to (0)\nend",
306
+ "explanation": "This script centers the sprite vertically at the start of the project."
307
+ }
308
+ ]
309
+ },
310
+ {
311
+ "block_name": "if on edge, bounce",
312
+ "block_type": "Motion",
313
+ "block_shape": "Stack Block",
314
+ "op_code": "motion_ifonedgebounce",
315
+ "functionality": "Reverses the sprite's direction if it touches the edge of the stage.",
316
+ "inputs": null,
317
+ "example_standalone": "if on edge, bounce",
318
+ "example_with_other_blocks": [
319
+ {
320
+ "script": "when I receive [start moving v]\n repeat (50)\n move (5) steps\n if on edge, bounce\n end\nend",
321
+ "explanation": "Upon receiving the 'start moving' broadcast, the sprite will move 5 steps repeatedly for 50 times, bouncing off edges if it touches them."
322
+ },
323
+ {
324
+ "script": "when green flag clicked\n forever\n move (10) steps\n if on edge, bounce\n end\nend",
325
+ "explanation": "This script makes the sprite move continuously and bounce off the edges of the stage."
326
+ }
327
+ ]
328
+ },
329
+ {
330
+ "block_name": "set rotation style ()",
331
+ "block_type": "Motion",
332
+ "block_shape": "Stack Block",
333
+ "op_code": "motion_setrotationstyle",
334
+ "functionality": "Determines how the sprite rotates: 'left-right' (flips horizontally), 'don't rotate' (stays facing one direction), or 'all around' (rotates freely).",
335
+ "inputs": [
336
+ {
337
+ "name": "STYLE",
338
+ "type": "dropdown",
339
+ "options": [
340
+ "left-right",
341
+ "don't rotate",
342
+ "all around"
343
+ ]
344
+ }
345
+ ],
346
+ "example_standalone": "set rotation style [left-right v]",
347
+ "example_with_other_blocks": [
348
+ {
349
+ "script": "when backdrop switches to [game level 1 v]\n set rotation style [all around v]\nend",
350
+ "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."
351
+ },
352
+ {
353
+ "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",
354
+ "explanation": "This script makes the sprite move horizontally and flip its costume when it hits an edge, instead of rotating."
355
+ }
356
+ ]
357
+ },
358
+ {
359
+ "block_name": "say () for () seconds",
360
+ "block_type": "Looks",
361
+ "block_shape": "Stack Block",
362
+ "op_code": "looks_sayforsecs",
363
+ "functionality": "Displays a speech bubble containing specified text for a set duration.",
364
+ "inputs": [
365
+ {
366
+ "name": "MESSAGE",
367
+ "type": "string"
368
+ },
369
+ {
370
+ "name": "SECS",
371
+ "type": "number"
372
+ }
373
+ ],
374
+ "example_standalone": "say [Hello!] for (2) seconds",
375
+ "example_with_other_blocks": [
376
+ {
377
+ "script": "when green flag clicked\n say [Grr] for (3) seconds\n say [Have you seen my honey? v] for (3) seconds\nend",
378
+ "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."
379
+ }
380
+ ]
381
+ },
382
+ {
383
+ "block_name": "say ()",
384
+ "block_type": "Looks",
385
+ "block_shape": "Stack Block",
386
+ "op_code": "looks_say",
387
+ "functionality": "Displays a speech bubble with the specified text indefinitely until another 'say' or 'think' block is activated.",
388
+ "inputs": [
389
+ {
390
+ "name": "MESSAGE",
391
+ "type": "string"
392
+ }
393
+ ],
394
+ "example_standalone": "say [Hello! v]",
395
+ "example_with_other_blocks": [
396
+ {
397
+ "script": "when green flag clicked\n say [Welcome to my game! v]\n wait (2) seconds\n say [] \nend",
398
+ "explanation": "This script makes the sprite say 'Welcome to my game!' for 2 seconds, then clears the speech bubble."
399
+ }
400
+ ]
401
+ },
402
+ {
403
+ "block_name": "think () for () seconds",
404
+ "block_type": "Looks",
405
+ "block_shape": "Stack Block",
406
+ "op_code": "looks_thinkforsecs",
407
+ "functionality": "Displays a thought bubble containing specified text for a set duration.",
408
+ "inputs": [
409
+ {
410
+ "name": "MESSAGE",
411
+ "type": "string"
412
+ },
413
+ {
414
+ "name": "SECS",
415
+ "type": "number"
416
+ }
417
+ ],
418
+ "example_standalone": "think [Hmm... v] for (2) seconds",
419
+ "example_with_other_blocks": [
420
+ {
421
+ "script": "when this sprite clicked\n think [What should I do? v] for (2) seconds\nend",
422
+ "explanation": "This script makes the sprite display a thought bubble saying 'What should I do?' for 2 seconds when clicked."
423
+ }
424
+ ]
425
+ },
426
+ {
427
+ "block_name": "think ()",
428
+ "block_type": "Looks",
429
+ "block_shape": "Stack Block",
430
+ "op_code": "looks_think",
431
+ "functionality": "Displays a thought bubble with the specified text indefinitely until another 'say' or 'think' block is activated.",
432
+ "inputs": [
433
+ {
434
+ "name": "MESSAGE",
435
+ "type": "string"
436
+ }
437
+ ],
438
+ "example_standalone": "think [Got it! v]",
439
+ "example_with_other_blocks": [
440
+ {
441
+ "script": "when I receive [correct answer v]\n think [That's right! v]\n wait (1) seconds\n think [good v] \nend",
442
+ "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."
443
+ }
444
+ ]
445
+ },
446
+ {
447
+ "block_name": "switch costume to ()",
448
+ "block_type": "Looks",
449
+ "block_shape": "Stack Block",
450
+ "op_code": "looks_switchcostumeto",
451
+ "functionality": "Alters the sprite's appearance to a designated costume.",
452
+ "inputs": [
453
+ {
454
+ "name": "COSTUME",
455
+ "type": "dropdown/number"
456
+ }
457
+ ],
458
+ "example_standalone": "switch costume to [costume1 v]",
459
+ "example_with_other_blocks": [
460
+ {
461
+ "script": "when I receive [explosion v]\n repeat (5)\n next costume\n end\n hide[costume1 v] \nend",
462
+ "explanation": "This script animates an explosion by rapidly switching costumes, then hides the sprite. [3]"
463
+ }
464
+ ]
465
+ },
466
+ {
467
+ "block_name": "next costume",
468
+ "block_type": "Looks",
469
+ "block_shape": "Stack Block",
470
+ "op_code": "looks_nextcostume",
471
+ "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.",
472
+ "inputs": null,
473
+ "example_standalone": "next costume",
474
+ "example_with_other_blocks": [
475
+ {
476
+ "script": "when [space v] key pressed\n repeat (3)\n next costume\n wait (0.1) seconds\n end \nend",
477
+ "explanation": "When the space key is pressed, the sprite will cycle through its next three costumes with a short delay between each change."
478
+ },
479
+ {
480
+ "script": "when green flag clicked\n forever\n next costume\n wait (0.2) seconds\n end \nend",
481
+ "explanation": "This script continuously animates the sprite by switching to the next costume every 0.2 seconds, creating a walking or flying effect."
482
+ }
483
+ ]
484
+ },
485
+ {
486
+ "block_name": "switch backdrop to ()",
487
+ "block_type": "Looks",
488
+ "block_shape": "Stack Block",
489
+ "op_code": "looks_switchbackdropto",
490
+ "functionality": "Changes the stage's backdrop to a specified backdrop.",
491
+ "inputs": [
492
+ {
493
+ "name": "BACKDROP",
494
+ "type": "dropdown/number"
495
+ }
496
+ ],
497
+ "example_standalone": "switch backdrop to [backdrop1 v]",
498
+ "example_with_other_blocks": [
499
+ {
500
+ "script": "when green flag clicked\n switch backdrop to [start screen v]\nend ",
501
+ "explanation": "This script sets the stage to a 'start screen' backdrop when the project begins."
502
+ }
503
+ ]
504
+ },
505
+ {
506
+ "block_name": "switch backdrop to () and wait",
507
+ "block_type": "Looks",
508
+ "block_shape": "Stack Block",
509
+ "op_code": "looks_switchbackdroptowait",
510
+ "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.",
511
+ "inputs": [
512
+ {
513
+ "name": "BACKDROP",
514
+ "type": "dropdown/number"
515
+ }
516
+ ],
517
+ "example_standalone": "switch backdrop to [game over v] and wait",
518
+ "example_with_other_blocks": [
519
+ {
520
+ "script": "broadcast [game over v]\n switch backdrop to [game over v] and wait\n stop [all v] \nend",
521
+ "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."
522
+ }
523
+ ]
524
+ },
525
+ {
526
+ "block_name": "next backdrop",
527
+ "block_type": "Looks",
528
+ "block_shape": "Stack Block",
529
+ "op_code": "looks_nextbackdrop",
530
+ "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.",
531
+ "inputs": null,
532
+ "example_standalone": "next backdrop",
533
+ "example_with_other_blocks": [
534
+ {
535
+ "script": "when [space v] key pressed\n next backdrop\nend",
536
+ "explanation": "This script changes the stage to the next backdrop in the list each time the space key is pressed."
537
+ }
538
+ ]
539
+ },
540
+ {
541
+ "block_name": "change size by ()",
542
+ "block_type": "Looks",
543
+ "block_shape": "Stack Block",
544
+ "op_code": "looks_changesizeby",
545
+ "functionality": "Changes the sprite's size by a specified percentage. Positive values make it larger, negative values make it smaller.",
546
+ "inputs": [
547
+ {
548
+ "name": "CHANGE",
549
+ "type": "number"
550
+ }
551
+ ],
552
+ "example_standalone": "change size by (10)",
553
+ "example_with_other_blocks": [
554
+ {
555
+ "script": "when green flag clicked\n repeat (10)\n change size by (5)\n wait (0.1) seconds\n end \nend ",
556
+ "explanation": "This script makes the sprite gradually grow larger over 10 steps, with a short pause between each size change."
557
+ }
558
+ ]
559
+ },
560
+ {
561
+ "block_name": "set size to () %",
562
+ "block_type": "Looks",
563
+ "block_shape": "Stack Block",
564
+ "op_code": "looks_setsizeto",
565
+ "functionality": "Sets the sprite's size to a specific percentage of its original size.",
566
+ "inputs": [
567
+ {
568
+ "name": "SIZE",
569
+ "type": "number"
570
+ }
571
+ ],
572
+ "example_standalone": "set size to (100) %",
573
+ "example_with_other_blocks": [
574
+ {
575
+ "script": "when green flag clicked\n set size to (50) %\n wait (1) seconds\n set size to (100) %\nend ",
576
+ "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."
577
+ }
578
+ ]
579
+ },
580
+ {
581
+ "block_name": "change () effect by ()",
582
+ "block_type": "Looks",
583
+ "block_shape": "Stack Block",
584
+ "op_code": "looks_changeeffectby",
585
+ "functionality": "Changes a visual effect on the sprite by a specified amount (e.g., color, fisheye, whirl, pixelate, mosaic, brightness, ghost).",
586
+ "inputs": [
587
+ {
588
+ "name": "EFFECT",
589
+ "type": "dropdown",
590
+ "options": [
591
+ "color",
592
+ "fisheye",
593
+ "whirl",
594
+ "pixelate",
595
+ "mosaic",
596
+ "brightness",
597
+ "ghost"
598
+ ]
599
+ },
600
+ {
601
+ "name": "CHANGE",
602
+ "type": "number"
603
+ }
604
+ ],
605
+ "example_standalone": "change [color v] effect by (25)",
606
+ "example_with_other_blocks": [
607
+ {
608
+ "script": "when loudness > (10)\n change [fisheye v] effect by (5)\nend",
609
+ "explanation": "When the loudness detected by the microphone is greater than 10, the sprite's fisheye effect will increase by 5."
610
+ },
611
+ {
612
+ "script": "when green flag clicked\n forever\n change [color v] effect by (5)\n wait (0.1) seconds\n end \nend",
613
+ "explanation": "This script makes the sprite continuously cycle through different colors."
614
+ }
615
+ ]
616
+ },
617
+ {
618
+ "block_name": "set () effect to ()",
619
+ "block_type": "Looks",
620
+ "block_shape": "Stack Block",
621
+ "op_code": "looks_seteffectto",
622
+ "functionality": "Sets a visual effect on the sprite to a specific value.",
623
+ "inputs": [
624
+ {
625
+ "name": "EFFECT",
626
+ "type": "dropdown",
627
+ "options": [
628
+ "color",
629
+ "fisheye",
630
+ "whirl",
631
+ "pixelate",
632
+ "mosaic",
633
+ "brightness",
634
+ "ghost"
635
+ ]
636
+ },
637
+ {
638
+ "name": "VALUE",
639
+ "type": "number"
640
+ }
641
+ ],
642
+ "example_standalone": "set [ghost v] effect to (50)",
643
+ "example_with_other_blocks": [
644
+ {
645
+ "script": "when green flag clicked\n set [ghost v] effect to (75)\nend",
646
+ "explanation": "This script makes the sprite 75% transparent at the start of the project."
647
+ }
648
+ ]
649
+ },
650
+ {
651
+ "block_name": "clear graphic effects",
652
+ "block_type": "Looks",
653
+ "block_shape": "Stack Block",
654
+ "op_code": "looks_cleargraphiceffects",
655
+ "functionality": "Removes all visual effects applied to the sprite.",
656
+ "inputs": null,
657
+ "example_standalone": "clear graphic effects",
658
+ "example_with_other_blocks": [
659
+ {
660
+ "script": "when green flag clicked\n change [color v] effect by (50)\n wait (2) seconds\n clear graphic effects\nend",
661
+ "explanation": "This script changes the sprite's color effect, waits 2 seconds, then resets all graphic effects."
662
+ }
663
+ ]
664
+ },
665
+ {
666
+ "block_name": "show",
667
+ "block_type": "Looks",
668
+ "block_shape": "Stack Block",
669
+ "op_code": "looks_show",
670
+ "functionality": "Makes the sprite visible on the stage.",
671
+ "inputs": null,
672
+ "example_standalone": "show",
673
+ "example_with_other_blocks": [
674
+ {
675
+ "script": "when green flag clicked\n hide[start game v]\nwhen I receive [start game v]\n show [start game v] \nend",
676
+ "explanation": "This script hides the sprite at the beginning of the project and makes it visible when a 'start game' broadcast is received."
677
+ }
678
+ ]
679
+ },
680
+ {
681
+ "block_name": "hide",
682
+ "block_type": "Looks",
683
+ "block_shape": "Stack Block",
684
+ "op_code": "looks_hide",
685
+ "functionality": "Makes the sprite invisible on the stage.",
686
+ "inputs": null,
687
+ "example_standalone": "hide",
688
+ "example_with_other_blocks": [
689
+ {
690
+ "script": "when green flag clicked\n hide \nend",
691
+ "explanation": "This script hides the sprite from the stage when the green flag is clicked."
692
+ }
693
+ ]
694
+ },
695
+ {
696
+ "block_name": "go to () layer",
697
+ "block_type": "Looks",
698
+ "block_shape": "Stack Block",
699
+ "op_code": "looks_gotofrontback",
700
+ "functionality": "Moves the sprite to the front-most or back-most layer of other sprites on the stage.",
701
+ "inputs": [
702
+ {
703
+ "name": "FRONT_BACK",
704
+ "type": "dropdown",
705
+ "options": [
706
+ "front",
707
+ "back"
708
+ ]
709
+ }
710
+ ],
711
+ "example_standalone": "go to [front v] layer",
712
+ "example_with_other_blocks": [
713
+ {
714
+ "script": "when green flag clicked\n go to [front v] layer\nend",
715
+ "explanation": "This script ensures the sprite is always visible on top of other sprites at the start of the project."
716
+ }
717
+ ]
718
+ },
719
+ {
720
+ "block_name": "go () layers",
721
+ "block_type": "Looks",
722
+ "block_shape": "Stack Block",
723
+ "op_code": "looks_goforwardbackwardlayers",
724
+ "functionality": "Moves the sprite forward or backward a specified number of layers in relation to other sprites.",
725
+ "inputs": [
726
+ {
727
+ "name": "FORWARD_BACKWARD",
728
+ "type": "dropdown",
729
+ "options": [
730
+ "forward",
731
+ "backward"
732
+ ]
733
+ },
734
+ {
735
+ "name": "NUM",
736
+ "type": "number"
737
+ }
738
+ ],
739
+ "example_standalone": "go [forward v] (1) layers",
740
+ "example_with_other_blocks": [
741
+ {
742
+ "script": "when this sprite clicked go [forward v] (1) layers\nend",
743
+ "explanation": "This script brings the clicked sprite one layer closer to the front."
744
+ }
745
+ ]
746
+ },
747
+ {
748
+ "block_name": "play sound () until done",
749
+ "block_type": "Sound",
750
+ "block_shape": "Stack Block",
751
+ "op_code": "sound_playuntildone",
752
+ "functionality": "Plays a specified sound and pauses the script's execution until the sound has completed.",
753
+ "inputs": [
754
+ {
755
+ "name": "sound name",
756
+ "type": "dropdown"
757
+ }
758
+ ],
759
+ "example_standalone": "play sound [Meow v] until done",
760
+ "example_with_other_blocks": [
761
+ {
762
+ "script": "when backdrop switches to [winning screen v]\n play sound [fanfare v] until done\n say [You won!] for (2) seconds\nend",
763
+ "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."
764
+ },
765
+ {
766
+ "script": "forever\n play sound [Music v] until done \nend",
767
+ "explanation": "This script creates a continuous loop for background music, playing the 'Music' sound repeatedly."
768
+ }
769
+ ]
770
+ },
771
+ {
772
+ "block_name": "start sound ()",
773
+ "block_type": "Sound",
774
+ "block_shape": "Stack Block",
775
+ "op_code": "sound_start",
776
+ "functionality": "Initiates playback of a specified sound without pausing the script, allowing other actions to proceed concurrently.",
777
+ "inputs": [
778
+ {
779
+ "name": "sound name",
780
+ "type": "dropdown"
781
+ }
782
+ ],
783
+ "example_standalone": "start sound [Pop v]",
784
+ "example_with_other_blocks": [
785
+ {
786
+ "script": "when this sprite clicked\n start sound [Pop v]\n change [score v] by (1)\nend",
787
+ "explanation": "This script plays a 'Pop' sound and increments the score simultaneously when the sprite is clicked."
788
+ }
789
+ ]
790
+ },
791
+ {
792
+ "block_name": "stop all sounds",
793
+ "block_type": "Sound",
794
+ "block_shape": "Stack Block",
795
+ "op_code": "sound_stopallsounds",
796
+ "functionality": "Stops all currently playing sounds.",
797
+ "inputs": null,
798
+ "example_standalone": "stop all sounds",
799
+ "example_with_other_blocks": [
800
+ {
801
+ "script": "when I receive [game over v]\n stop all sounds\nend",
802
+ "explanation": "This script stops any sounds currently playing when the 'game over' broadcast is received."
803
+ }
804
+ ]
805
+ },
806
+ {
807
+ "block_name": "change volume by ()",
808
+ "block_type": "Sound",
809
+ "block_shape": "Stack Block",
810
+ "op_code": "sound_changevolumeby",
811
+ "functionality": "Changes the project's sound volume by a specified amount.",
812
+ "inputs": [
813
+ {
814
+ "name": "change",
815
+ "type": "number"
816
+ }
817
+ ],
818
+ "example_standalone": "change volume by (-10)",
819
+ "example_with_other_blocks": [
820
+ {
821
+ "script": "when [down arrow v] key pressed\n change volume by (-5)\nend",
822
+ "explanation": "This script decreases the project's volume by 5 when the down arrow key is pressed."
823
+ }
824
+ ]
825
+ },
826
+ {
827
+ "block_name": "set volume to () %",
828
+ "block_type": "Sound",
829
+ "block_shape": "Stack Block",
830
+ "op_code": "sound_setvolumeto",
831
+ "functionality": "Sets the sound volume to a specific percentage (0-100).",
832
+ "inputs": [
833
+ {
834
+ "name": "percentage",
835
+ "type": "number"
836
+ }
837
+ ],
838
+ "example_standalone": "set volume to (100) %",
839
+ "example_with_other_blocks": [
840
+ {
841
+ "script": "when green flag clicked\n set volume to (50) %\nend",
842
+ "explanation": "This script sets the project's volume to 50% when the green flag is clicked."
843
+ }
844
+ ]
845
+ },
846
+ {
847
+ "block_name": "broadcast ()",
848
+ "block_type": "Events",
849
+ "block_shape": "Stack Block",
850
+ "op_code": "event_broadcast",
851
+ "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.",
852
+ "inputs": [
853
+ {
854
+ "name": "message name",
855
+ "type": "string/dropdown"
856
+ }
857
+ ],
858
+ "example_standalone": "broadcast [start game v]",
859
+ "example_with_other_blocks": [
860
+ {
861
+ "script": "if <key [space v] pressed?> then\n broadcast [jump v]\nend",
862
+ "explanation": "This script sends a 'jump' message to other scripts or sprites when the space key is pressed."
863
+ }
864
+ ]
865
+ },
866
+ {
867
+ "block_name": "broadcast () and wait",
868
+ "block_type": "Events",
869
+ "block_shape": "Stack Block",
870
+ "op_code": "event_broadcastandwait",
871
+ "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.",
872
+ "inputs": [
873
+ {
874
+ "name": "message name",
875
+ "type": "string/dropdown"
876
+ }
877
+ ],
878
+ "example_standalone": "broadcast [initialize sprites v] and wait",
879
+ "example_with_other_blocks": [
880
+ {
881
+ "script": "broadcast [initialize sprites v] and wait\n say [Game Started!] for (2) seconds",
882
+ "explanation": "This script ensures all sprite initialization routines complete before displaying 'Game Started!' for 2 seconds."
883
+ }
884
+ ]
885
+ },
886
+ {
887
+ "block_name": "wait () seconds",
888
+ "block_type": "Control",
889
+ "block_shape": "Stack Block",
890
+ "op_code": "control_wait",
891
+ "functionality": "Pauses the script for a specified duration.",
892
+ "inputs": [
893
+ {
894
+ "name": "seconds",
895
+ "type": "number"
896
+ }
897
+ ],
898
+ "example_standalone": "wait (1) seconds",
899
+ "example_with_other_blocks": [
900
+ {
901
+ "script": "say [Hello!] for (1) seconds\n wait (0.5) seconds\n say [Goodbye!] for (1) seconds",
902
+ "explanation": "This script creates a timed dialogue sequence, pausing for 0.5 seconds between two speech bubbles."
903
+ }
904
+ ]
905
+ },
906
+ {
907
+ "block_name": "wait until ()",
908
+ "block_type": "Control",
909
+ "block_shape": "Stack Block",
910
+ "op_code": "control_wait_until",
911
+ "functionality": "Pauses the script until the specified boolean condition becomes true.",
912
+ "inputs": [
913
+ {
914
+ "name": "condition",
915
+ "type": "boolean"
916
+ }
917
+ ],
918
+ "example_standalone": "wait until <key [space v] pressed?>",
919
+ "example_with_other_blocks": [
920
+ {
921
+ "script": "wait until <key [space v] pressed?>\n start sound [pop v]\nend",
922
+ "explanation": "This script pauses until the space key is pressed, then plays a 'pop' sound."
923
+ }
924
+ ]
925
+ },
926
+ {
927
+ "block_name": "stop ()",
928
+ "block_type": "Control",
929
+ "block_shape": "Stack Block",
930
+ "op_code": "control_stop",
931
+ "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.",
932
+ "inputs": [
933
+ {
934
+ "name": "option",
935
+ "type": "dropdown",
936
+ "options": [
937
+ "all",
938
+ "this script",
939
+ "other scripts in sprite"
940
+ ]
941
+ }
942
+ ],
943
+ "example_standalone": "stop [all v]",
944
+ "example_with_other_blocks": [
945
+ {
946
+ "script": "if <score = (0)> then\n stop [all v]\nend",
947
+ "explanation": "This script stops the entire project if the 'score' variable becomes 0."
948
+ }
949
+ ]
950
+ },
951
+ {
952
+ "block_name": "create clone of ()",
953
+ "block_type": "Control",
954
+ "block_shape": "Stack Block",
955
+ "op_code": "control_create_clone_of",
956
+ "functionality": "Generates a copy, or clone, of a specified sprite (or 'myself' for the current sprite).",
957
+ "inputs": [
958
+ {
959
+ "name": "sprite_name",
960
+ "type": "dropdown",
961
+ "options": [
962
+ "myself",
963
+ "sprite1",
964
+ "..."
965
+ ]
966
+ }
967
+ ],
968
+ "example_standalone": "create clone of [myself v]",
969
+ "example_with_other_blocks": [
970
+ {
971
+ "script": "when I start as a clone\n show\n go to random position\n wait (2) seconds\n delete this clone\nend",
972
+ "explanation": "When a clone is created, it will show itself, go to a random position, wait for 2 seconds, and then delete itself."
973
+ }
974
+ ]
975
+ },
976
+ {
977
+ "block_name": "delete this clone",
978
+ "block_type": "Control",
979
+ "block_shape": "Stack Block",
980
+ "op_code": "control_delete_this_clone",
981
+ "functionality": "Deletes the clone that is currently running the script.",
982
+ "inputs": null,
983
+ "example_standalone": "delete this clone",
984
+ "example_with_other_blocks": [
985
+ {
986
+ "script": "when I start as a clone\n wait (5) seconds\n delete this clone\nend",
987
+ "explanation": "This script makes each clone wait for 5 seconds after it's created, then deletes itself."
988
+ }
989
+ ]
990
+ },
991
+ {
992
+ "block_name": "set [my variable v] to ()",
993
+ "block_type": "Data",
994
+ "block_shape": "Stack Block",
995
+ "op_code": "data_setvariableto",
996
+ "functionality": "Assigns a specific value (number, string, or boolean) to a variable.",
997
+ "inputs": [
998
+ {
999
+ "name": "variable name",
1000
+ "type": "dropdown"
1001
+ },
1002
+ {
1003
+ "name": "value",
1004
+ "type": "any"
1005
+ }
1006
+ ],
1007
+ "example_standalone": "set [score v] to (0)",
1008
+ "example_with_other_blocks": [
1009
+ {
1010
+ "script": "when green flag clicked\n set [score v] to (0)\n set [player name v] to [Guest]\nend",
1011
+ "explanation": "This script initializes the 'score' variable to 0 and the 'player name' variable to 'Guest' when the project starts."
1012
+ }
1013
+ ]
1014
+ },
1015
+ {
1016
+ "block_name": "change [my variable v] by ()",
1017
+ "block_type": "Data",
1018
+ "block_shape": "Stack Block",
1019
+ "op_code": "data_changevariableby",
1020
+ "functionality": "Increases or decreases a variable's numerical value by a specified amount.",
1021
+ "inputs": [
1022
+ {
1023
+ "name": "variable name",
1024
+ "type": "dropdown"
1025
+ },
1026
+ {
1027
+ "name": "value",
1028
+ "type": "number"
1029
+ }
1030
+ ],
1031
+ "example_standalone": "change [score v] by (1)",
1032
+ "example_with_other_blocks": [
1033
+ {
1034
+ "script": "when this sprite clicked\n change [score v] by (1)\nend",
1035
+ "explanation": "This script increments the 'score' variable by 1 each time the sprite is clicked."
1036
+ }
1037
+ ]
1038
+ },
1039
+ {
1040
+ "block_name": "add () to [my list v]",
1041
+ "block_type": "Data",
1042
+ "block_shape": "Stack Block",
1043
+ "op_code": "data_addtolist",
1044
+ "functionality": "Appends an item to the end of a list.",
1045
+ "inputs": [
1046
+ {
1047
+ "name": "item",
1048
+ "type": "any"
1049
+ },
1050
+ {
1051
+ "name": "list name",
1052
+ "type": "dropdown"
1053
+ }
1054
+ ],
1055
+ "example_standalone": "add [apple] to [shopping list v]",
1056
+ "example_with_other_blocks": [
1057
+ {
1058
+ "script": "when green flag clicked\n add [apple] to [shopping list v]\n add [banana] to [shopping list v]\nend",
1059
+ "explanation": "This script adds 'apple' and 'banana' as new items to the 'shopping list' when the project starts."
1060
+ }
1061
+ ]
1062
+ },
1063
+ {
1064
+ "block_name": "delete () of [my list v]",
1065
+ "block_type": "Data",
1066
+ "block_shape": "Stack Block",
1067
+ "op_code": "data_deleteoflist",
1068
+ "functionality": "Removes an item from a list by its index or by selecting 'all' items.",
1069
+ "inputs": [
1070
+ {
1071
+ "name": "index/option",
1072
+ "type": "number/dropdown",
1073
+ "options": [
1074
+ "all",
1075
+ "last",
1076
+ "random"
1077
+ ]
1078
+ },
1079
+ {
1080
+ "name": "list name",
1081
+ "type": "dropdown"
1082
+ }
1083
+ ],
1084
+ "example_standalone": "delete (1) of [my list v]",
1085
+ "example_with_other_blocks": [
1086
+ {
1087
+ "script": "when green flag clicked\n delete (all) of [my list v]\nend",
1088
+ "explanation": "This script clears all items from 'my list' when the green flag is clicked."
1089
+ }
1090
+ ]
1091
+ },
1092
+ {
1093
+ "block_name": "insert () at () of [my list v]",
1094
+ "block_type": "Data",
1095
+ "block_shape": "Stack Block",
1096
+ "op_code": "data_insertatlist",
1097
+ "functionality": "Inserts an item at a specific position within a list.",
1098
+ "inputs": [
1099
+ {
1100
+ "name": "item",
1101
+ "type": "any"
1102
+ },
1103
+ {
1104
+ "name": "index",
1105
+ "type": "number"
1106
+ },
1107
+ {
1108
+ "name": "list name",
1109
+ "type": "dropdown"
1110
+ }
1111
+ ],
1112
+ "example_standalone": "insert [orange] at (2) of [fruits v]",
1113
+ "example_with_other_blocks": [
1114
+ {
1115
+ "script": "insert [orange] at (2) of [fruits v]",
1116
+ "explanation": "This script inserts 'orange' as the second item in the 'fruits' list, shifting subsequent items."
1117
+ }
1118
+ ]
1119
+ },
1120
+ {
1121
+ "block_name": "replace item () of [my list v] with ()",
1122
+ "block_type": "Data",
1123
+ "block_shape": "Stack Block",
1124
+ "op_code": "data_replaceitemoflist",
1125
+ "functionality": "Replaces an item at a specific position in a list with a new value.",
1126
+ "inputs": [
1127
+ {
1128
+ "name": "index",
1129
+ "type": "number"
1130
+ },
1131
+ {
1132
+ "name": "list name",
1133
+ "type": "dropdown"
1134
+ },
1135
+ {
1136
+ "name": "new item",
1137
+ "type": "any"
1138
+ }
1139
+ ],
1140
+ "example_standalone": "replace item (1) of [colors v] with [blue]",
1141
+ "example_with_other_blocks": [
1142
+ {
1143
+ "script": "replace item (1) of [colors v] with [blue]",
1144
+ "explanation": "This script changes the first item in the 'colors' list to 'blue'."
1145
+ }
1146
+ ]
1147
+ },
1148
+ {
1149
+ "block_name": "show variable [my variable v]",
1150
+ "block_type": "Data",
1151
+ "block_shape": "Stack Block",
1152
+ "op_code": "data_showvariable",
1153
+ "functionality": "Makes a variable's monitor visible on the stage.",
1154
+ "inputs": [
1155
+ {
1156
+ "name": "variable name",
1157
+ "type": "dropdown"
1158
+ }
1159
+ ],
1160
+ "example_standalone": "show variable [score v]",
1161
+ "example_with_other_blocks": [
1162
+ {
1163
+ "script": "when green flag clicked\n show variable [score v]\nend",
1164
+ "explanation": "This script displays the 'score' variable on the stage when the project starts."
1165
+ }
1166
+ ]
1167
+ },
1168
+ {
1169
+ "block_name": "hide variable [my variable v]",
1170
+ "block_type": "Data",
1171
+ "block_shape": "Stack Block",
1172
+ "op_code": "data_hidevariable",
1173
+ "functionality": "Hides a variable's monitor from the stage.",
1174
+ "inputs": [
1175
+ {
1176
+ "name": "variable name",
1177
+ "type": "dropdown"
1178
+ }
1179
+ ],
1180
+ "example_standalone": "hide variable [score v]",
1181
+ "example_with_other_blocks": [
1182
+ {
1183
+ "script": "when I receive [game over v]\n hide variable [score v]\nend",
1184
+ "explanation": "This script hides the 'score' variable when the 'game over' broadcast is received."
1185
+ }
1186
+ ]
1187
+ },
1188
+ {
1189
+ "block_name": "show list [my list v]",
1190
+ "block_type": "Data",
1191
+ "block_shape": "Stack Block",
1192
+ "op_code": "data_showlist",
1193
+ "functionality": "Makes a list's monitor visible on the stage.",
1194
+ "inputs": [
1195
+ {
1196
+ "name": "list name",
1197
+ "type": "dropdown"
1198
+ }
1199
+ ],
1200
+ "example_standalone": "show list [shopping list v]",
1201
+ "example_with_other_blocks": [
1202
+ {
1203
+ "script": "when green flag clicked\n show list [shopping list v]\nend",
1204
+ "explanation": "This script displays the 'shopping list' on the stage when the project starts."
1205
+ }
1206
+ ]
1207
+ },
1208
+ {
1209
+ "block_name": "hide list [my list v]",
1210
+ "block_type": "Data",
1211
+ "block_shape": "Stack Block",
1212
+ "op_code": "data_hidelist",
1213
+ "functionality": "Hides a list's monitor from the stage.",
1214
+ "inputs": [
1215
+ {
1216
+ "name": "list name",
1217
+ "type": "dropdown"
1218
+ }
1219
+ ],
1220
+ "example_standalone": "hide list [shopping list v]",
1221
+ "example_with_other_blocks": [
1222
+ {
1223
+ "script": "when I receive [game over v]\n hide list [shopping list v]\nend",
1224
+ "explanation": "This script hides the 'shopping list' when the 'game over' broadcast is received."
1225
+ }
1226
+ ]
1227
+ },
1228
+ {
1229
+ "block_name": "Ask () and Wait",
1230
+ "block_type": "Sensing",
1231
+ "block_shape": "Stack Block",
1232
+ "op_code": "sensing_askandwait",
1233
+ "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.",
1234
+ "inputs": [
1235
+ {
1236
+ "name": "question",
1237
+ "type": "text"
1238
+ }
1239
+ ],
1240
+ "example_standalone": "ask [What is your name? v] and wait",
1241
+ "example_with_other_blocks": [
1242
+ {
1243
+ "script": "ask [What is your name? v] and wait\n say join [Hello v] (answer) for (2) seconds \nend",
1244
+ "explanation": "This script prompts the user for their name, waits for input, then greets them using the provided answer."
1245
+ }
1246
+ ]
1247
+ },
1248
+ {
1249
+ "block_name": "Reset Timer",
1250
+ "block_type": "Sensing",
1251
+ "block_shape": "Stack Block",
1252
+ "op_code": "sensing_resettimer",
1253
+ "functionality": "Sets the timer’s value back to 0.0.",
1254
+ "inputs": null,
1255
+ "example_standalone": "reset timer",
1256
+ "example_with_other_blocks": [
1257
+ {
1258
+ "script": "when green flag clicked\n reset timer\n wait (5) seconds\n say timer for (2) seconds\nend",
1259
+ "explanation": "This script resets the timer at the start, waits for 5 seconds, then says the current timer value."
1260
+ }
1261
+ ]
1262
+ },
1263
+ {
1264
+ "block_name": "set drag mode [draggable v]",
1265
+ "block_type": "Sensing",
1266
+ "block_shape": "Stack Block",
1267
+ "op_code": "sensing_setdragmode",
1268
+ "functionality": "Sets whether the sprite can be dragged by the mouse on the stage.",
1269
+ "inputs": null,
1270
+ "fields": {
1271
+ "DRAG_MODE": {
1272
+ "type": "dropdown",
1273
+ "options": [
1274
+ "draggable",
1275
+ "not draggable"
1276
+ ]
1277
+ }
1278
+ },
1279
+ "example_standalone": "set drag mode [draggable v]",
1280
+ "example_with_other_blocks": [
1281
+ {
1282
+ "script": "when green flag clicked\n set drag mode [not draggable v]\nend when this sprite clicked\n set drag mode [draggable v] \nend",
1283
+ "explanation": "This script makes the sprite not draggable when the project starts, but allows it to be dragged once it's clicked."
1284
+ }
1285
+ ]
1286
+ },
1287
+ {
1288
+ "block_name": "[my custom block]",
1289
+ "block_type": "My Blocks",
1290
+ "block_shape": "Stack Block",
1291
+ "op_code": "procedures_call",
1292
+ "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.",
1293
+ "inputs": [
1294
+ {
1295
+ "name": "argument_name_1",
1296
+ "type": "any"
1297
+ },
1298
+ {
1299
+ "name": "argument_name_2",
1300
+ "type": "any"
1301
+ }
1302
+ ],
1303
+ "example_standalone": "jump (50)",
1304
+ "example_with_other_blocks": [
1305
+ {
1306
+ "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",
1307
+ "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!'."
1308
+ },
1309
+ {
1310
+ "script": "when green flag clicked\n hide\n forever\n create clone of [myself v]\n wait (1) seconds\n end",
1311
+ "explanation": "This script continuously creates new clones of the current sprite every second after the original sprite hides itself."
1312
+ }
1313
+ ]
1314
+ }
1315
+ ]
1316
+ }
generated_projects/148cec44-05b5-4562-b06e-b92c64d1ca9e/5d973d7a3a8be3f3bd6e1cd0f73c32b5.svg ADDED
generated_projects/148cec44-05b5-4562-b06e-b92c64d1ca9e/83a9787d4cb6f3b7632b4ddfebf74367.wav ADDED
Binary file (560 Bytes). View file
 
generated_projects/148cec44-05b5-4562-b06e-b92c64d1ca9e/83c36d806dc92327b9e7049a565c6bff.wav ADDED
Binary file (37.4 kB). View file
 
generated_projects/148cec44-05b5-4562-b06e-b92c64d1ca9e/bcf454acf82e4504149f7ffe07081dbc.svg ADDED
generated_projects/148cec44-05b5-4562-b06e-b92c64d1ca9e/e7c147730f19d284bcd7b3f00af19bb6.svg ADDED
generated_projects/148cec44-05b5-4562-b06e-b92c64d1ca9e/project.json ADDED
@@ -0,0 +1,1250 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "targets": [
3
+ {
4
+ "isStage": true,
5
+ "name": "Stage",
6
+ "objName": "Stage",
7
+ "variables": {
8
+ "score_73fce27a": [
9
+ "score",
10
+ "0"
11
+ ],
12
+ "\u2601 High Score_2b744c35": [
13
+ "\u2601 High Score",
14
+ "0",
15
+ true
16
+ ],
17
+ "speed_c110710a": [
18
+ "speed",
19
+ "0"
20
+ ],
21
+ "lives_9019623c": [
22
+ "lives",
23
+ "3"
24
+ ],
25
+ "level_000d70bb": [
26
+ "level",
27
+ "1"
28
+ ]
29
+ },
30
+ "lists": {
31
+ "recent_scores_c4c10267": [
32
+ "recent_scores",
33
+ []
34
+ ],
35
+ "obstacle_speeds_b690a1ee": [
36
+ "obstacle_speeds",
37
+ []
38
+ ],
39
+ "power_ups_efcd2ef7": [
40
+ "power_ups",
41
+ []
42
+ ]
43
+ },
44
+ "broadcasts": {
45
+ "Game Over_9032e357": "Game Over",
46
+ "Game Start_ba9be238": "Game Start",
47
+ "Level Up_6e23a340": "Level Up",
48
+ "Power Up Collected_bd804925": "Power Up Collected"
49
+ },
50
+ "blocks": {
51
+ "hatBlockID": {
52
+ "opcode": "event_whenflagclicked",
53
+ "next": "switchBackdropBlockID",
54
+ "parent": null,
55
+ "shadow": false,
56
+ "topLevel": true,
57
+ "x": 0,
58
+ "y": 0
59
+ },
60
+ "switchBackdropBlockID": {
61
+ "opcode": "looks_switchbackdropto",
62
+ "inputs": {
63
+ "BACKDROP": [
64
+ 1,
65
+ "congratulatoryBackdropShadowID"
66
+ ]
67
+ },
68
+ "next": "broadcastLevelUpBlockID",
69
+ "parent": "setHighScoreBlockID",
70
+ "shadow": false,
71
+ "topLevel": false,
72
+ "x": 200,
73
+ "y": 200
74
+ },
75
+ "blueSkyBackdropShadowID": {
76
+ "opcode": "looks_backdrops",
77
+ "fields": {
78
+ "BACKDROP": [
79
+ "Blue Sky",
80
+ "e7c147730f19d284bcd7b3f00af19bb6"
81
+ ]
82
+ },
83
+ "shadow": true,
84
+ "parent": "switchBackdropBlockID",
85
+ "topLevel": false
86
+ },
87
+ "setScoreBlockID": {
88
+ "opcode": "data_setvariableto",
89
+ "fields": {
90
+ "VARIABLE": [
91
+ "score",
92
+ "score_73fce27a"
93
+ ]
94
+ },
95
+ "inputs": {
96
+ "VALUE": [
97
+ 1,
98
+ "zeroShadowID"
99
+ ]
100
+ },
101
+ "next": "showScoreBlockID",
102
+ "parent": "switchBackdropBlockID",
103
+ "shadow": false,
104
+ "topLevel": false,
105
+ "x": 100,
106
+ "y": 50
107
+ },
108
+ "zeroShadowID": {
109
+ "opcode": "math_number",
110
+ "fields": {
111
+ "NUM": [
112
+ "0",
113
+ null
114
+ ]
115
+ },
116
+ "shadow": true,
117
+ "parent": "setScoreBlockID",
118
+ "topLevel": false
119
+ },
120
+ "showScoreBlockID": {
121
+ "opcode": "data_showvariable",
122
+ "fields": {
123
+ "VARIABLE": [
124
+ "score",
125
+ "score_73fce27a"
126
+ ]
127
+ },
128
+ "next": "broadcastBlockID",
129
+ "parent": "setScoreBlockID",
130
+ "shadow": false,
131
+ "topLevel": false,
132
+ "x": 100,
133
+ "y": 100
134
+ },
135
+ "broadcastBlockID": {
136
+ "opcode": "event_broadcast",
137
+ "inputs": {
138
+ "BROADCAST_INPUT": [
139
+ 1,
140
+ "gameStartBroadcastShadowID"
141
+ ]
142
+ },
143
+ "next": null,
144
+ "parent": "showScoreBlockID",
145
+ "shadow": false,
146
+ "topLevel": false,
147
+ "x": 100,
148
+ "y": 150
149
+ },
150
+ "gameStartBroadcastShadowID": {
151
+ "opcode": "event_broadcast_menu",
152
+ "fields": {
153
+ "BROADCAST": [
154
+ "Game Start",
155
+ "Game Start_ba9be238"
156
+ ]
157
+ },
158
+ "shadow": true,
159
+ "parent": "broadcastBlockID",
160
+ "topLevel": false
161
+ },
162
+ "whenBroadcastReceivedBlockID": {
163
+ "opcode": "event_whenbroadcastreceived",
164
+ "fields": {
165
+ "BROADCAST": [
166
+ "score",
167
+ "score_73fce27a"
168
+ ]
169
+ },
170
+ "next": "ifBlockID",
171
+ "parent": null,
172
+ "shadow": false,
173
+ "topLevel": true,
174
+ "x": 0,
175
+ "y": 150
176
+ },
177
+ "ifBlockID": {
178
+ "opcode": "control_if",
179
+ "inputs": {
180
+ "CONDITION": [
181
+ 1,
182
+ "conditionBlockID"
183
+ ],
184
+ "SUBSTACK": [
185
+ 2,
186
+ "setHighScoreBlockID"
187
+ ]
188
+ },
189
+ "next": "switchBackdropBlockID",
190
+ "parent": "whenBroadcastReceivedBlockID",
191
+ "shadow": false,
192
+ "topLevel": false,
193
+ "x": 100,
194
+ "y": 50
195
+ },
196
+ "conditionBlockID": {
197
+ "opcode": "operator_gt",
198
+ "inputs": {
199
+ "OPERAND1": [
200
+ 1,
201
+ "scoreVariableBlockID"
202
+ ],
203
+ "OPERAND2": [
204
+ 1,
205
+ "highScoreVariableBlockID"
206
+ ]
207
+ },
208
+ "next": null,
209
+ "parent": "ifBlockID",
210
+ "shadow": false,
211
+ "topLevel": false,
212
+ "x": 150,
213
+ "y": 100
214
+ },
215
+ "scoreVariableBlockID": {
216
+ "opcode": "data_variable",
217
+ "fields": {
218
+ "VARIABLE": [
219
+ "score",
220
+ "score_73fce27a"
221
+ ]
222
+ },
223
+ "shadow": true,
224
+ "parent": "conditionBlockID",
225
+ "topLevel": false
226
+ },
227
+ "highScoreVariableBlockID": {
228
+ "opcode": "data_variable",
229
+ "fields": {
230
+ "VARIABLE": [
231
+ "\u2601 High Score",
232
+ "\u2601 High Score_2b744c35"
233
+ ]
234
+ },
235
+ "shadow": true,
236
+ "parent": "conditionBlockID",
237
+ "topLevel": false
238
+ },
239
+ "setHighScoreBlockID": {
240
+ "opcode": "data_setvariableto",
241
+ "fields": {
242
+ "VARIABLE": [
243
+ "\u2601 High Score",
244
+ "\u2601 High Score_2b744c35"
245
+ ]
246
+ },
247
+ "inputs": {
248
+ "VALUE": [
249
+ 1,
250
+ "scoreVariableBlockID"
251
+ ]
252
+ },
253
+ "next": "switchBackdropBlockID",
254
+ "parent": "ifBlockID",
255
+ "shadow": false,
256
+ "topLevel": false,
257
+ "x": 150,
258
+ "y": 150
259
+ },
260
+ "congratulatoryBackdropShadowID": {
261
+ "opcode": "looks_backdrops",
262
+ "fields": {
263
+ "BACKDROP": [
264
+ "congratulatory backdrop",
265
+ "someBackdropID"
266
+ ]
267
+ },
268
+ "shadow": true,
269
+ "parent": "switchBackdropBlockID",
270
+ "topLevel": false
271
+ },
272
+ "broadcastLevelUpBlockID": {
273
+ "opcode": "event_broadcast",
274
+ "inputs": {
275
+ "BROADCAST_INPUT": [
276
+ 1,
277
+ "levelUpBroadcastShadowID"
278
+ ]
279
+ },
280
+ "next": null,
281
+ "parent": "switchBackdropBlockID",
282
+ "shadow": false,
283
+ "topLevel": false,
284
+ "x": 250,
285
+ "y": 250
286
+ },
287
+ "levelUpBroadcastShadowID": {
288
+ "opcode": "event_broadcast_menu",
289
+ "fields": {
290
+ "BROADCAST": [
291
+ "Level Up",
292
+ "Level Up_6e23a340"
293
+ ]
294
+ },
295
+ "shadow": true,
296
+ "parent": "broadcastLevelUpBlockID",
297
+ "topLevel": false
298
+ }
299
+ },
300
+ "comments": {},
301
+ "currentCostume": 0,
302
+ "costumes": [
303
+ {
304
+ "name": "Blue Sky",
305
+ "bitmapResolution": 1,
306
+ "dataFormat": "svg",
307
+ "assetId": "e7c147730f19d284bcd7b3f00af19bb6",
308
+ "md5ext": "e7c147730f19d284bcd7b3f00af19bb6.svg",
309
+ "rotationCenterX": 240,
310
+ "rotationCenterY": 180
311
+ }
312
+ ],
313
+ "sounds": [
314
+ {
315
+ "name": "button",
316
+ "dataFormat": "wav",
317
+ "rate": 44100,
318
+ "sampleCount": 0,
319
+ "assetId": "83a9787d4cb6f3b7632b4ddfebf74367",
320
+ "md5ext": "83a9787d4cb6f3b7632b4ddfebf74367.wav"
321
+ }
322
+ ],
323
+ "volume": 100,
324
+ "layerOrder": 0,
325
+ "tempo": 60,
326
+ "videoTransparency": 50,
327
+ "videoState": "on",
328
+ "textToSpeechLanguage": null
329
+ },
330
+ {
331
+ "isStage": false,
332
+ "name": "Sprite1",
333
+ "objName": "Sprite1",
334
+ "variables": {},
335
+ "lists": {},
336
+ "broadcasts": {},
337
+ "blocks": {
338
+ "hat_block_id": {
339
+ "opcode": "event_whenflagclicked",
340
+ "next": "goto_xy_block_id",
341
+ "parent": null,
342
+ "inputs": {},
343
+ "fields": {},
344
+ "shadow": false,
345
+ "topLevel": true,
346
+ "x": 0,
347
+ "y": 0
348
+ },
349
+ "goto_xy_block_id": {
350
+ "opcode": "motion_gotoxy",
351
+ "next": "set_lives_block_id",
352
+ "parent": "hat_block_id",
353
+ "inputs": {
354
+ "X": [
355
+ 1,
356
+ "x_shadow_block_id"
357
+ ],
358
+ "Y": [
359
+ 1,
360
+ "y_shadow_block_id"
361
+ ]
362
+ },
363
+ "fields": {},
364
+ "shadow": false,
365
+ "topLevel": false,
366
+ "x": 10,
367
+ "y": -50
368
+ },
369
+ "x_shadow_block_id": {
370
+ "opcode": "math_number",
371
+ "fields": {
372
+ "NUM": [
373
+ "0",
374
+ null
375
+ ]
376
+ },
377
+ "shadow": true,
378
+ "parent": "goto_xy_block_id",
379
+ "topLevel": false
380
+ },
381
+ "y_shadow_block_id": {
382
+ "opcode": "math_number",
383
+ "fields": {
384
+ "NUM": [
385
+ "-120",
386
+ null
387
+ ]
388
+ },
389
+ "shadow": true,
390
+ "parent": "goto_xy_block_id",
391
+ "topLevel": false
392
+ },
393
+ "set_lives_block_id": {
394
+ "opcode": "data_setvariableto",
395
+ "next": "set_score_block_id",
396
+ "parent": "goto_xy_block_id",
397
+ "inputs": {
398
+ "VARIABLE": [
399
+ 1,
400
+ "lives_variable_shadow_block_id"
401
+ ],
402
+ "VALUE": [
403
+ 1,
404
+ "lives_value_shadow_block_id"
405
+ ]
406
+ },
407
+ "fields": {},
408
+ "shadow": false,
409
+ "topLevel": false,
410
+ "x": 20,
411
+ "y": -100
412
+ },
413
+ "lives_variable_shadow_block_id": {
414
+ "opcode": "data_variable",
415
+ "fields": {
416
+ "VARIABLE": [
417
+ "lives",
418
+ "lives_9019623c"
419
+ ]
420
+ },
421
+ "shadow": true,
422
+ "parent": "set_lives_block_id",
423
+ "topLevel": false
424
+ },
425
+ "lives_value_shadow_block_id": {
426
+ "opcode": "math_number",
427
+ "fields": {
428
+ "NUM": [
429
+ "3",
430
+ null
431
+ ]
432
+ },
433
+ "shadow": true,
434
+ "parent": "set_lives_block_id",
435
+ "topLevel": false
436
+ },
437
+ "set_score_block_id": {
438
+ "opcode": "data_setvariableto",
439
+ "next": "show_score_block_id",
440
+ "parent": "set_lives_block_id",
441
+ "inputs": {
442
+ "VARIABLE": [
443
+ 1,
444
+ "score_variable_shadow_block_id"
445
+ ],
446
+ "VALUE": [
447
+ 1,
448
+ "score_value_shadow_block_id"
449
+ ]
450
+ },
451
+ "fields": {},
452
+ "shadow": false,
453
+ "topLevel": false,
454
+ "x": 30,
455
+ "y": -150
456
+ },
457
+ "score_variable_shadow_block_id": {
458
+ "opcode": "data_variable",
459
+ "fields": {
460
+ "VARIABLE": [
461
+ "score",
462
+ "score_73fce27a"
463
+ ]
464
+ },
465
+ "shadow": true,
466
+ "parent": "set_score_block_id",
467
+ "topLevel": false
468
+ },
469
+ "score_value_shadow_block_id": {
470
+ "opcode": "math_number",
471
+ "fields": {
472
+ "NUM": [
473
+ "0",
474
+ null
475
+ ]
476
+ },
477
+ "shadow": true,
478
+ "parent": "set_score_block_id",
479
+ "topLevel": false
480
+ },
481
+ "show_score_block_id": {
482
+ "opcode": "data_showvariable",
483
+ "next": "show_lives_block_id",
484
+ "parent": "set_score_block_id",
485
+ "inputs": {},
486
+ "fields": {
487
+ "VARIABLE": [
488
+ "score",
489
+ "score_73fce27a"
490
+ ]
491
+ },
492
+ "shadow": false,
493
+ "topLevel": false,
494
+ "x": 40,
495
+ "y": -200
496
+ },
497
+ "show_lives_block_id": {
498
+ "opcode": "data_showvariable",
499
+ "next": "broadcast_game_start_block_id",
500
+ "parent": "show_score_block_id",
501
+ "inputs": {},
502
+ "fields": {
503
+ "VARIABLE": [
504
+ "lives",
505
+ "lives_9019623c"
506
+ ]
507
+ },
508
+ "shadow": false,
509
+ "topLevel": false,
510
+ "x": 50,
511
+ "y": -250
512
+ },
513
+ "broadcast_game_start_block_id": {
514
+ "opcode": "event_broadcast",
515
+ "next": null,
516
+ "parent": "show_lives_block_id",
517
+ "inputs": {
518
+ "BROADCAST_INPUT": [
519
+ 1,
520
+ "game_start_broadcast_shadow_block_id"
521
+ ]
522
+ },
523
+ "fields": {},
524
+ "shadow": false,
525
+ "topLevel": false,
526
+ "x": 60,
527
+ "y": -300
528
+ },
529
+ "game_start_broadcast_shadow_block_id": {
530
+ "opcode": "event_broadcast_menu",
531
+ "fields": {
532
+ "BROADCAST": [
533
+ "Game Start",
534
+ "Game Start_ba9be238"
535
+ ]
536
+ },
537
+ "shadow": true,
538
+ "parent": "broadcast_game_start_block_id",
539
+ "topLevel": false
540
+ },
541
+ "event_whenkeypressed_1": {
542
+ "opcode": "event_whenkeypressed",
543
+ "next": "control_forever_2",
544
+ "parent": null,
545
+ "inputs": {},
546
+ "fields": {
547
+ "KEY_OPTION": [
548
+ "space",
549
+ null
550
+ ]
551
+ },
552
+ "shadow": false,
553
+ "topLevel": true,
554
+ "x": 0,
555
+ "y": 150
556
+ },
557
+ "control_forever_2": {
558
+ "opcode": "control_forever",
559
+ "next": null,
560
+ "parent": "event_whenkeypressed_1",
561
+ "inputs": {
562
+ "SUBSTACK": [
563
+ 2,
564
+ "sensing_keypressed_3"
565
+ ]
566
+ },
567
+ "shadow": false,
568
+ "topLevel": false,
569
+ "x": 10,
570
+ "y": -50
571
+ },
572
+ "sensing_keypressed_3": {
573
+ "opcode": "sensing_keypressed",
574
+ "next": "control_if_5",
575
+ "parent": "control_forever_2",
576
+ "inputs": {
577
+ "KEY": [
578
+ 1,
579
+ "space_shadow_4"
580
+ ]
581
+ },
582
+ "shadow": false,
583
+ "topLevel": false,
584
+ "x": 20,
585
+ "y": -100
586
+ },
587
+ "space_shadow_4": {
588
+ "opcode": "sensing_keypressed_menu",
589
+ "fields": {
590
+ "KEY": [
591
+ "space",
592
+ null
593
+ ]
594
+ },
595
+ "shadow": true,
596
+ "parent": "sensing_keypressed_3",
597
+ "topLevel": false
598
+ },
599
+ "control_if_5": {
600
+ "opcode": "control_if",
601
+ "next": "motion_changeyby_6",
602
+ "parent": "sensing_keypressed_3",
603
+ "inputs": {
604
+ "CONDITION": [
605
+ 1,
606
+ "operator_equals_7"
607
+ ],
608
+ "SUBSTACK": [
609
+ 2,
610
+ "motion_changeyby_6"
611
+ ]
612
+ },
613
+ "shadow": false,
614
+ "topLevel": false,
615
+ "x": 30,
616
+ "y": -150
617
+ },
618
+ "operator_equals_7": {
619
+ "opcode": "operator_equals",
620
+ "next": null,
621
+ "parent": "control_if_5",
622
+ "inputs": {
623
+ "OPERAND1": [
624
+ 1,
625
+ "data_variable_8"
626
+ ],
627
+ "OPERAND2": [
628
+ 1,
629
+ "literal_0_9"
630
+ ]
631
+ },
632
+ "shadow": false,
633
+ "topLevel": false,
634
+ "x": 40,
635
+ "y": -200
636
+ },
637
+ "data_variable_8": {
638
+ "opcode": "data_variable",
639
+ "fields": {
640
+ "VARIABLE": [
641
+ "lives",
642
+ "lives_9019623c"
643
+ ]
644
+ },
645
+ "shadow": true,
646
+ "parent": "operator_equals_7",
647
+ "topLevel": false
648
+ },
649
+ "literal_0_9": {
650
+ "opcode": "math_number",
651
+ "fields": {
652
+ "NUM": [
653
+ "0",
654
+ null
655
+ ]
656
+ },
657
+ "shadow": true,
658
+ "parent": "operator_equals_7",
659
+ "topLevel": false
660
+ },
661
+ "motion_changeyby_6": {
662
+ "opcode": "motion_changeyby",
663
+ "next": "wait_10",
664
+ "parent": "control_if_5",
665
+ "inputs": {
666
+ "DY": [
667
+ 1,
668
+ "literal_20_11"
669
+ ]
670
+ },
671
+ "shadow": false,
672
+ "topLevel": false,
673
+ "x": 40,
674
+ "y": -200
675
+ },
676
+ "literal_20_11": {
677
+ "opcode": "math_number",
678
+ "fields": {
679
+ "NUM": [
680
+ "20",
681
+ null
682
+ ]
683
+ },
684
+ "shadow": true,
685
+ "parent": "motion_changeyby_6",
686
+ "topLevel": false
687
+ },
688
+ "wait_10": {
689
+ "opcode": "wait",
690
+ "next": "motion_changeyby_12",
691
+ "parent": "motion_changeyby_6",
692
+ "inputs": {
693
+ "DURATION": [
694
+ 1,
695
+ "literal_0_1_13"
696
+ ]
697
+ },
698
+ "shadow": false,
699
+ "topLevel": false,
700
+ "x": 50,
701
+ "y": -250
702
+ },
703
+ "literal_0_1_13": {
704
+ "opcode": "math_number",
705
+ "fields": {
706
+ "NUM": [
707
+ "0.1",
708
+ null
709
+ ]
710
+ },
711
+ "shadow": true,
712
+ "parent": "wait_10",
713
+ "topLevel": false
714
+ },
715
+ "motion_changeyby_12": {
716
+ "opcode": "motion_changeyby",
717
+ "next": null,
718
+ "parent": "wait_10",
719
+ "inputs": {
720
+ "DY": [
721
+ 1,
722
+ "literal_-20_14"
723
+ ]
724
+ },
725
+ "shadow": false,
726
+ "topLevel": false,
727
+ "x": 60,
728
+ "y": -300
729
+ },
730
+ "literal_-20_14": {
731
+ "opcode": "math_number",
732
+ "fields": {
733
+ "NUM": [
734
+ "-20",
735
+ null
736
+ ]
737
+ },
738
+ "shadow": true,
739
+ "parent": "motion_changeyby_12",
740
+ "topLevel": false
741
+ },
742
+ "event_broadcast_15": {
743
+ "opcode": "event_broadcast",
744
+ "next": "control_stop_16",
745
+ "parent": "control_if_5",
746
+ "inputs": {
747
+ "BROADCAST_INPUT": [
748
+ 1,
749
+ "broadcast_game_over_17"
750
+ ]
751
+ },
752
+ "shadow": false,
753
+ "topLevel": false,
754
+ "x": 70,
755
+ "y": -350
756
+ },
757
+ "broadcast_game_over_17": {
758
+ "opcode": "event_broadcast_menu",
759
+ "fields": {
760
+ "BROADCAST": [
761
+ "Game Over",
762
+ "Game Over_9032e357"
763
+ ]
764
+ },
765
+ "shadow": true,
766
+ "parent": "event_broadcast_15",
767
+ "topLevel": false
768
+ },
769
+ "control_stop_16": {
770
+ "opcode": "control_stop",
771
+ "next": null,
772
+ "parent": "event_broadcast_15",
773
+ "inputs": {},
774
+ "fields": {
775
+ "STOP_OPTION": [
776
+ "all",
777
+ null
778
+ ]
779
+ },
780
+ "shadow": false,
781
+ "topLevel": false,
782
+ "x": 80,
783
+ "y": -400
784
+ }
785
+ },
786
+ "comments": {},
787
+ "currentCostume": 0,
788
+ "costumes": [
789
+ {
790
+ "name": "Sprite1",
791
+ "bitmapResolution": 1,
792
+ "dataFormat": "svg",
793
+ "assetId": "bcf454acf82e4504149f7ffe07081dbc",
794
+ "md5ext": "bcf454acf82e4504149f7ffe07081dbc.svg",
795
+ "rotationCenterX": 0,
796
+ "rotationCenterY": 0
797
+ }
798
+ ],
799
+ "sounds": [
800
+ {
801
+ "name": "meow",
802
+ "dataFormat": "wav",
803
+ "rate": 44100,
804
+ "sampleCount": 0,
805
+ "assetId": "83c36d806dc92327b9e7049a565c6bff",
806
+ "md5ext": "83c36d806dc92327b9e7049a565c6bff.wav"
807
+ }
808
+ ],
809
+ "volume": 100,
810
+ "layerOrder": 2,
811
+ "visible": true,
812
+ "x": 0,
813
+ "y": -120,
814
+ "size": 100,
815
+ "direction": 90,
816
+ "draggable": false,
817
+ "rotationStyle": "all around"
818
+ },
819
+ {
820
+ "isStage": false,
821
+ "name": "soccer ball",
822
+ "objName": "soccer ball",
823
+ "variables": {},
824
+ "lists": {},
825
+ "broadcasts": {},
826
+ "blocks": {
827
+ "event_whenflagclicked_1": {
828
+ "opcode": "event_whenflagclicked",
829
+ "next": "motion_gotoxy_2",
830
+ "parent": null,
831
+ "fields": {},
832
+ "shadow": false,
833
+ "topLevel": true,
834
+ "x": 0,
835
+ "y": 0
836
+ },
837
+ "motion_gotoxy_2": {
838
+ "opcode": "motion_gotoxy",
839
+ "inputs": {
840
+ "X": [
841
+ 1,
842
+ "motion_gotoxy_x_3"
843
+ ],
844
+ "Y": [
845
+ 1,
846
+ "motion_gotoxy_y_4"
847
+ ]
848
+ },
849
+ "next": "control_forever_5",
850
+ "parent": "event_whenflagclicked_1",
851
+ "fields": {},
852
+ "shadow": false,
853
+ "topLevel": false,
854
+ "x": 10,
855
+ "y": 50
856
+ },
857
+ "motion_gotoxy_x_3": {
858
+ "opcode": "math_number",
859
+ "fields": {
860
+ "NUM": [
861
+ "240",
862
+ null
863
+ ]
864
+ },
865
+ "shadow": true,
866
+ "parent": "motion_gotoxy_2",
867
+ "topLevel": false
868
+ },
869
+ "motion_gotoxy_y_4": {
870
+ "opcode": "math_number",
871
+ "fields": {
872
+ "NUM": [
873
+ "0",
874
+ null
875
+ ]
876
+ },
877
+ "shadow": true,
878
+ "parent": "motion_gotoxy_2",
879
+ "topLevel": false
880
+ },
881
+ "control_forever_5": {
882
+ "opcode": "control_forever",
883
+ "inputs": {
884
+ "SUBSTACK": [
885
+ 2,
886
+ "motion_glidesecstoxy_6"
887
+ ]
888
+ },
889
+ "next": null,
890
+ "parent": "motion_gotoxy_2",
891
+ "fields": {},
892
+ "shadow": false,
893
+ "topLevel": false,
894
+ "x": 20,
895
+ "y": 100
896
+ },
897
+ "motion_glidesecstoxy_6": {
898
+ "opcode": "motion_glidesecstoxy",
899
+ "inputs": {
900
+ "SECS": [
901
+ 1,
902
+ "motion_glidesecstoxy_secs_7"
903
+ ],
904
+ "X": [
905
+ 1,
906
+ "motion_glidesecstoxy_x_8"
907
+ ],
908
+ "Y": [
909
+ 1,
910
+ "motion_glidesecstoxy_y_9"
911
+ ]
912
+ },
913
+ "next": "control_if_10",
914
+ "parent": "control_forever_5",
915
+ "fields": {},
916
+ "shadow": false,
917
+ "topLevel": false,
918
+ "x": 30,
919
+ "y": 150
920
+ },
921
+ "motion_glidesecstoxy_secs_7": {
922
+ "opcode": "math_number",
923
+ "fields": {
924
+ "NUM": [
925
+ "2",
926
+ null
927
+ ]
928
+ },
929
+ "shadow": true,
930
+ "parent": "motion_glidesecstoxy_6",
931
+ "topLevel": false
932
+ },
933
+ "motion_glidesecstoxy_x_8": {
934
+ "opcode": "math_number",
935
+ "fields": {
936
+ "NUM": [
937
+ "-240",
938
+ null
939
+ ]
940
+ },
941
+ "shadow": true,
942
+ "parent": "motion_glidesecstoxy_6",
943
+ "topLevel": false
944
+ },
945
+ "motion_glidesecstoxy_y_9": {
946
+ "opcode": "math_number",
947
+ "fields": {
948
+ "NUM": [
949
+ "0",
950
+ null
951
+ ]
952
+ },
953
+ "shadow": true,
954
+ "parent": "motion_glidesecstoxy_6",
955
+ "topLevel": false
956
+ },
957
+ "control_if_10": {
958
+ "opcode": "control_if",
959
+ "inputs": {
960
+ "CONDITION": [
961
+ 1,
962
+ "sensing_touchingobject_11"
963
+ ],
964
+ "SUBSTACK": [
965
+ 2,
966
+ "control_if_12"
967
+ ]
968
+ },
969
+ "next": "data_changevariableby_13",
970
+ "parent": "motion_glidesecstoxy_6",
971
+ "fields": {},
972
+ "shadow": false,
973
+ "topLevel": false,
974
+ "x": 40,
975
+ "y": 200
976
+ },
977
+ "sensing_touchingobject_11": {
978
+ "opcode": "sensing_touchingobject",
979
+ "inputs": {
980
+ "TOUCHINGOBJECTMENU": [
981
+ 1,
982
+ "sensing_touchingobject_menu_14"
983
+ ]
984
+ },
985
+ "next": null,
986
+ "parent": "control_if_10",
987
+ "fields": {},
988
+ "shadow": false,
989
+ "topLevel": false
990
+ },
991
+ "sensing_touchingobject_menu_14": {
992
+ "opcode": "sensing_touchingobjectmenu",
993
+ "fields": {
994
+ "TOUCHINGOBJECTMENU": [
995
+ "Sprite1"
996
+ ]
997
+ },
998
+ "shadow": true,
999
+ "parent": "sensing_touchingobject_11",
1000
+ "topLevel": false
1001
+ },
1002
+ "Sprite1": {
1003
+ "isStage": false,
1004
+ "name": "Sprite1",
1005
+ "objName": "Sprite1",
1006
+ "variables": {},
1007
+ "lists": {},
1008
+ "broadcasts": {},
1009
+ "blocks": {},
1010
+ "comments": {},
1011
+ "currentCostume": 0,
1012
+ "costumes": [
1013
+ {
1014
+ "name": "costume1",
1015
+ "bitmapResolution": 1,
1016
+ "dataFormat": "svg",
1017
+ "assetId": "89f55f38-2e0a-40d6-8e8e-45d6d167cd2c",
1018
+ "md5ext": "89f55f38-2e0a-40d6-8e8e-45d6d167cd2c.svg",
1019
+ "rotationCenterX": 0,
1020
+ "rotationCenterY": 0
1021
+ }
1022
+ ],
1023
+ "sounds": [],
1024
+ "volume": 100,
1025
+ "layerOrder": 3,
1026
+ "visible": true,
1027
+ "x": 0,
1028
+ "y": 0,
1029
+ "size": 100,
1030
+ "direction": 90,
1031
+ "draggable": false,
1032
+ "rotationStyle": "all around"
1033
+ },
1034
+ "control_if_12": {
1035
+ "opcode": "control_if",
1036
+ "inputs": {
1037
+ "CONDITION": [
1038
+ 1,
1039
+ "operator_lt_16"
1040
+ ],
1041
+ "SUBSTACK": [
1042
+ 2,
1043
+ "data_changevariableby_17"
1044
+ ]
1045
+ },
1046
+ "next": "event_broadcast_20",
1047
+ "parent": "control_if_10",
1048
+ "fields": {},
1049
+ "shadow": false,
1050
+ "topLevel": false,
1051
+ "x": 50,
1052
+ "y": 250
1053
+ },
1054
+ "operator_lt_16": {
1055
+ "opcode": "operator_lt",
1056
+ "inputs": {
1057
+ "OPERAND1": [
1058
+ 1,
1059
+ "data_variable_18"
1060
+ ],
1061
+ "OPERAND2": [
1062
+ 1,
1063
+ "operator_lt_operand2_19"
1064
+ ]
1065
+ },
1066
+ "next": null,
1067
+ "parent": "control_if_12",
1068
+ "fields": {},
1069
+ "shadow": false,
1070
+ "topLevel": false
1071
+ },
1072
+ "data_variable_18": {
1073
+ "opcode": "data_variable",
1074
+ "fields": {
1075
+ "VARIABLE": [
1076
+ "lives",
1077
+ "lives_9019623c"
1078
+ ]
1079
+ },
1080
+ "shadow": true,
1081
+ "parent": "operator_lt_16",
1082
+ "topLevel": false
1083
+ },
1084
+ "operator_lt_operand2_19": {
1085
+ "opcode": "math_number",
1086
+ "fields": {
1087
+ "NUM": [
1088
+ "0",
1089
+ null
1090
+ ]
1091
+ },
1092
+ "shadow": true,
1093
+ "parent": "operator_lt_16",
1094
+ "topLevel": false
1095
+ },
1096
+ "data_changevariableby_17": {
1097
+ "opcode": "data_changevariableby",
1098
+ "inputs": {
1099
+ "VARIABLE": [
1100
+ 1,
1101
+ "data_changevariableby_variable_21"
1102
+ ],
1103
+ "VALUE": [
1104
+ 1,
1105
+ "data_changevariableby_value_22"
1106
+ ]
1107
+ },
1108
+ "next": null,
1109
+ "parent": "control_if_12",
1110
+ "fields": {},
1111
+ "shadow": false,
1112
+ "topLevel": false,
1113
+ "x": 60,
1114
+ "y": 300
1115
+ },
1116
+ "data_changevariableby_variable_21": {
1117
+ "opcode": "data_variable",
1118
+ "fields": {
1119
+ "VARIABLE": [
1120
+ "lives",
1121
+ "lives_9019623c"
1122
+ ]
1123
+ },
1124
+ "shadow": true,
1125
+ "parent": "data_changevariableby_17",
1126
+ "topLevel": false
1127
+ },
1128
+ "data_changevariableby_value_22": {
1129
+ "opcode": "math_number",
1130
+ "fields": {
1131
+ "NUM": [
1132
+ "-1",
1133
+ null
1134
+ ]
1135
+ },
1136
+ "shadow": true,
1137
+ "parent": "data_changevariableby_17",
1138
+ "topLevel": false
1139
+ },
1140
+ "event_broadcast_20": {
1141
+ "opcode": "event_broadcast",
1142
+ "inputs": {
1143
+ "BROADCAST_INPUT": [
1144
+ 1,
1145
+ "event_broadcast_menu_23"
1146
+ ]
1147
+ },
1148
+ "next": "control_stop_24",
1149
+ "parent": "control_if_12",
1150
+ "fields": {},
1151
+ "shadow": false,
1152
+ "topLevel": false,
1153
+ "x": 70,
1154
+ "y": 350
1155
+ },
1156
+ "event_broadcast_menu_23": {
1157
+ "opcode": "event_broadcast_menu",
1158
+ "fields": {
1159
+ "BROADCAST": [
1160
+ "Game Over",
1161
+ "Game Over_9032e357"
1162
+ ]
1163
+ },
1164
+ "shadow": true,
1165
+ "parent": "event_broadcast_20",
1166
+ "topLevel": false
1167
+ },
1168
+ "control_stop_24": {
1169
+ "opcode": "control_stop",
1170
+ "inputs": {},
1171
+ "next": null,
1172
+ "parent": "event_broadcast_20",
1173
+ "fields": {
1174
+ "STOP_OPTION": [
1175
+ "all",
1176
+ null
1177
+ ]
1178
+ },
1179
+ "shadow": false,
1180
+ "topLevel": false,
1181
+ "x": 80,
1182
+ "y": 400
1183
+ }
1184
+ },
1185
+ "comments": {},
1186
+ "currentCostume": 0,
1187
+ "costumes": [
1188
+ {
1189
+ "name": "soccer ball",
1190
+ "bitmapResolution": 1,
1191
+ "dataFormat": "svg",
1192
+ "assetId": "5d973d7a3a8be3f3bd6e1cd0f73c32b5",
1193
+ "md5ext": "5d973d7a3a8be3f3bd6e1cd0f73c32b5.svg",
1194
+ "rotationCenterX": 0,
1195
+ "rotationCenterY": 0
1196
+ }
1197
+ ],
1198
+ "sounds": [],
1199
+ "volume": 100,
1200
+ "layerOrder": 3,
1201
+ "visible": true,
1202
+ "x": 130,
1203
+ "y": 0,
1204
+ "size": 100,
1205
+ "direction": 90,
1206
+ "draggable": false,
1207
+ "rotationStyle": "all around"
1208
+ }
1209
+ ],
1210
+ "monitors": [
1211
+ {
1212
+ "id": "monitor_123e456",
1213
+ "opcode": "data_variable",
1214
+ "spriteName": "Stage",
1215
+ "params": {
1216
+ "VARIABLE": "score"
1217
+ },
1218
+ "value": "0",
1219
+ "x": 5,
1220
+ "y": 5,
1221
+ "visible": true,
1222
+ "mode": "default",
1223
+ "sliderMin": 0,
1224
+ "sliderMax": 100,
1225
+ "isDiscrete": true
1226
+ },
1227
+ {
1228
+ "id": "monitor_987654321",
1229
+ "opcode": "data_variable",
1230
+ "spriteName": "Stage",
1231
+ "params": {
1232
+ "VARIABLE": "\u2601 High Score"
1233
+ },
1234
+ "value": "0",
1235
+ "x": 325,
1236
+ "y": 5,
1237
+ "visible": true,
1238
+ "mode": "default",
1239
+ "sliderMin": 0,
1240
+ "sliderMax": 100,
1241
+ "isDiscrete": true
1242
+ }
1243
+ ],
1244
+ "extensions": [],
1245
+ "meta": {
1246
+ "semver": "3.0.0",
1247
+ "vm": "11.1.0",
1248
+ "agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"
1249
+ }
1250
+ }
generated_projects/1508c7e3-795d-411c-83bb-f3f2b6d3ff31/5d973d7a3a8be3f3bd6e1cd0f73c32b5.svg ADDED
generated_projects/1508c7e3-795d-411c-83bb-f3f2b6d3ff31/83a9787d4cb6f3b7632b4ddfebf74367.wav ADDED
Binary file (560 Bytes). View file
 
generated_projects/1508c7e3-795d-411c-83bb-f3f2b6d3ff31/83c36d806dc92327b9e7049a565c6bff.wav ADDED
Binary file (37.4 kB). View file
 
generated_projects/1508c7e3-795d-411c-83bb-f3f2b6d3ff31/bcf454acf82e4504149f7ffe07081dbc.svg ADDED
generated_projects/1508c7e3-795d-411c-83bb-f3f2b6d3ff31/e7c147730f19d284bcd7b3f00af19bb6.svg ADDED
generated_projects/1508c7e3-795d-411c-83bb-f3f2b6d3ff31/ee99a4b49761fe861db0753d43918c68.svg ADDED
generated_projects/1508c7e3-795d-411c-83bb-f3f2b6d3ff31/project.json ADDED
@@ -0,0 +1,131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "targets": [
3
+ {
4
+ "isStage": true,
5
+ "name": "Stage",
6
+ "objName": "Stage",
7
+ "variables": {},
8
+ "lists": {},
9
+ "broadcasts": {},
10
+ "blocks": {},
11
+ "comments": {},
12
+ "currentCostume": 1,
13
+ "costumes": [
14
+ {
15
+ "name": "Blue sky",
16
+ "bitmapResolution": 1,
17
+ "dataFormat": "svg",
18
+ "assetId": "e7c147730f19d284bcd7b3f00af19bb6",
19
+ "md5ext": "e7c147730f19d284bcd7b3f00af19bb6.svg",
20
+ "rotationCenterX": 240,
21
+ "rotationCenterY": 180
22
+ },
23
+ {
24
+ "name": "game over",
25
+ "bitmapResolution": 1,
26
+ "dataFormat": "svg",
27
+ "assetId": "ee99a4b49761fe861db0753d43918c68",
28
+ "md5ext": "ee99a4b49761fe861db0753d43918c68.svg",
29
+ "rotationCenterX": 240,
30
+ "rotationCenterY": 180
31
+ }
32
+ ],
33
+ "sounds": [
34
+ {
35
+ "name": "button",
36
+ "dataFormat": "wav",
37
+ "rate": 44100,
38
+ "sampleCount": 0,
39
+ "assetId": "83a9787d4cb6f3b7632b4ddfebf74367",
40
+ "md5ext": "83a9787d4cb6f3b7632b4ddfebf74367.wav"
41
+ }
42
+ ],
43
+ "volume": 100,
44
+ "layerOrder": 0,
45
+ "tempo": 60,
46
+ "videoTransparency": 50,
47
+ "videoState": "on",
48
+ "textToSpeechLanguage": null
49
+ },
50
+ {
51
+ "isStage": false,
52
+ "name": "Cat",
53
+ "objName": "Cat",
54
+ "variables": {},
55
+ "lists": {},
56
+ "broadcasts": {},
57
+ "blocks": {},
58
+ "comments": {},
59
+ "currentCostume": 0,
60
+ "costumes": [
61
+ {
62
+ "name": "Cat",
63
+ "bitmapResolution": 1,
64
+ "dataFormat": "svg",
65
+ "assetId": "bcf454acf82e4504149f7ffe07081dbc",
66
+ "md5ext": "bcf454acf82e4504149f7ffe07081dbc.svg",
67
+ "rotationCenterX": 0,
68
+ "rotationCenterY": 0
69
+ }
70
+ ],
71
+ "sounds": [
72
+ {
73
+ "name": "meow",
74
+ "dataFormat": "wav",
75
+ "rate": 44100,
76
+ "sampleCount": 0,
77
+ "assetId": "83c36d806dc92327b9e7049a565c6bff",
78
+ "md5ext": "83c36d806dc92327b9e7049a565c6bff.wav"
79
+ }
80
+ ],
81
+ "volume": 100,
82
+ "layerOrder": 2,
83
+ "visible": true,
84
+ "x": 0,
85
+ "y": 0,
86
+ "size": 100,
87
+ "direction": 90,
88
+ "draggable": false,
89
+ "rotationStyle": "all around"
90
+ },
91
+ {
92
+ "isStage": false,
93
+ "name": "soccer ball",
94
+ "objName": "soccer ball",
95
+ "variables": {},
96
+ "lists": {},
97
+ "broadcasts": {},
98
+ "blocks": {},
99
+ "comments": {},
100
+ "currentCostume": 0,
101
+ "costumes": [
102
+ {
103
+ "name": "soccer ball",
104
+ "bitmapResolution": 1,
105
+ "dataFormat": "svg",
106
+ "assetId": "5d973d7a3a8be3f3bd6e1cd0f73c32b5",
107
+ "md5ext": "5d973d7a3a8be3f3bd6e1cd0f73c32b5.svg",
108
+ "rotationCenterX": 0,
109
+ "rotationCenterY": 0
110
+ }
111
+ ],
112
+ "sounds": [],
113
+ "volume": 100,
114
+ "layerOrder": 3,
115
+ "visible": true,
116
+ "x": 0,
117
+ "y": 0,
118
+ "size": 100,
119
+ "direction": 90,
120
+ "draggable": false,
121
+ "rotationStyle": "all around"
122
+ }
123
+ ],
124
+ "monitors": [],
125
+ "extensions": [],
126
+ "meta": {
127
+ "semver": "3.0.0",
128
+ "vm": "11.1.0",
129
+ "agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"
130
+ }
131
+ }
generated_projects/23d18cd1-988b-4160-9895-d43af97bcc2b/5d973d7a3a8be3f3bd6e1cd0f73c32b5.svg ADDED
generated_projects/23d18cd1-988b-4160-9895-d43af97bcc2b/83a9787d4cb6f3b7632b4ddfebf74367.wav ADDED
Binary file (560 Bytes). View file
 
generated_projects/23d18cd1-988b-4160-9895-d43af97bcc2b/83c36d806dc92327b9e7049a565c6bff.wav ADDED
Binary file (37.4 kB). View file
 
generated_projects/23d18cd1-988b-4160-9895-d43af97bcc2b/bcf454acf82e4504149f7ffe07081dbc.svg ADDED
generated_projects/23d18cd1-988b-4160-9895-d43af97bcc2b/e7c147730f19d284bcd7b3f00af19bb6.svg ADDED
generated_projects/23d18cd1-988b-4160-9895-d43af97bcc2b/ee99a4b49761fe861db0753d43918c68.svg ADDED
generated_projects/23d18cd1-988b-4160-9895-d43af97bcc2b/project.json ADDED
@@ -0,0 +1,1553 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "targets": [
3
+ {
4
+ "isStage": true,
5
+ "name": "Stage",
6
+ "objName": "Stage",
7
+ "variables": {
8
+ "score_808be662": [
9
+ "score",
10
+ "0"
11
+ ],
12
+ "\u2601 High Score_1344da88": [
13
+ "\u2601 High Score",
14
+ "0",
15
+ true
16
+ ],
17
+ "speed_a8a1940f": [
18
+ "speed",
19
+ "3"
20
+ ]
21
+ },
22
+ "lists": {},
23
+ "broadcasts": {
24
+ "Game Over_ca22c13c": "Game Over",
25
+ "Game Start_654950ef": "Game Start",
26
+ "Reset Game_19ce8261": "Reset Game"
27
+ },
28
+ "blocks": {
29
+ "eventFlag_123": {
30
+ "opcode": "event_whenflagclicked",
31
+ "parent": null,
32
+ "next": "switchBackdrop_456",
33
+ "topLevel": true,
34
+ "shadow": false,
35
+ "x": 0,
36
+ "y": 0
37
+ },
38
+ "switchBackdrop_456": {
39
+ "opcode": "looks_switchbackdropto",
40
+ "parent": "eventFlag_123",
41
+ "next": "setScore_789",
42
+ "topLevel": false,
43
+ "shadow": false,
44
+ "inputs": {
45
+ "BACKDROP": [
46
+ 1,
47
+ "shadowBackdrop_1001"
48
+ ]
49
+ }
50
+ },
51
+ "shadowBackdrop_1001": {
52
+ "opcode": "looks_backdrop",
53
+ "fields": {
54
+ "BACKDROP": [
55
+ "Blue sky",
56
+ null
57
+ ]
58
+ },
59
+ "shadow": true,
60
+ "parent": "switchBackdrop_456",
61
+ "topLevel": false
62
+ },
63
+ "setScore_789": {
64
+ "opcode": "data_setvariableto",
65
+ "parent": "switchBackdrop_456",
66
+ "next": "setSpeed_012",
67
+ "topLevel": false,
68
+ "shadow": false,
69
+ "fields": {
70
+ "VARIABLE": [
71
+ "score",
72
+ "score_808be662"
73
+ ]
74
+ },
75
+ "inputs": {
76
+ "VALUE": [
77
+ 1,
78
+ "shadowNumber0_2002"
79
+ ]
80
+ }
81
+ },
82
+ "shadowNumber0_2002": {
83
+ "opcode": "math_number",
84
+ "fields": {
85
+ "NUM": [
86
+ "0",
87
+ null
88
+ ]
89
+ },
90
+ "shadow": true,
91
+ "parent": "setScore_789",
92
+ "topLevel": false
93
+ },
94
+ "setSpeed_012": {
95
+ "opcode": "data_setvariableto",
96
+ "parent": "setScore_789",
97
+ "next": "showScore_345",
98
+ "topLevel": false,
99
+ "shadow": false,
100
+ "fields": {
101
+ "VARIABLE": [
102
+ "speed",
103
+ "speed_a8a1940f"
104
+ ]
105
+ },
106
+ "inputs": {
107
+ "VALUE": [
108
+ 1,
109
+ "shadowNumber3_3003"
110
+ ]
111
+ }
112
+ },
113
+ "shadowNumber3_3003": {
114
+ "opcode": "math_number",
115
+ "fields": {
116
+ "NUM": [
117
+ "3",
118
+ null
119
+ ]
120
+ },
121
+ "shadow": true,
122
+ "parent": "setSpeed_012",
123
+ "topLevel": false
124
+ },
125
+ "showScore_345": {
126
+ "opcode": "data_showvariable",
127
+ "parent": "setSpeed_012",
128
+ "next": "showHighScore_678",
129
+ "topLevel": false,
130
+ "shadow": false,
131
+ "fields": {
132
+ "VARIABLE": [
133
+ "score",
134
+ "score_808be662"
135
+ ]
136
+ }
137
+ },
138
+ "showHighScore_678": {
139
+ "opcode": "data_showvariable",
140
+ "parent": "showScore_345",
141
+ "next": "broadcastStart_901",
142
+ "topLevel": false,
143
+ "shadow": false,
144
+ "fields": {
145
+ "VARIABLE": [
146
+ "\u2601 High Score",
147
+ "\u2601 High Score_1344da88"
148
+ ]
149
+ }
150
+ },
151
+ "broadcastStart_901": {
152
+ "opcode": "event_broadcastandwait",
153
+ "parent": "showHighScore_678",
154
+ "next": null,
155
+ "topLevel": false,
156
+ "shadow": false,
157
+ "inputs": {
158
+ "BROADCAST_INPUT": [
159
+ 1,
160
+ "shadowBroadcastStart_4004"
161
+ ]
162
+ }
163
+ },
164
+ "shadowBroadcastStart_4004": {
165
+ "opcode": "event_broadcast_menu",
166
+ "fields": {
167
+ "BROADCAST": [
168
+ "Game Start",
169
+ "Game Start_654950ef"
170
+ ]
171
+ },
172
+ "shadow": true,
173
+ "parent": "broadcastStart_901",
174
+ "topLevel": false
175
+ },
176
+ "event_hat_321abc": {
177
+ "opcode": "event_whenbroadcastreceived",
178
+ "parent": null,
179
+ "next": "looks_switch_789def",
180
+ "topLevel": true,
181
+ "shadow": false,
182
+ "x": 0,
183
+ "y": 150,
184
+ "fields": {},
185
+ "inputs": {
186
+ "BROADCAST_OPTION": [
187
+ 1,
188
+ "shadow_broadcast_654ghi"
189
+ ]
190
+ }
191
+ },
192
+ "shadow_broadcast_654ghi": {
193
+ "opcode": "event_broadcast_menu",
194
+ "parent": "event_hat_321abc",
195
+ "topLevel": false,
196
+ "shadow": true,
197
+ "fields": {
198
+ "BROADCAST": [
199
+ "Game Over",
200
+ "Game Over_ca22c13c"
201
+ ]
202
+ }
203
+ },
204
+ "looks_switch_789def": {
205
+ "opcode": "looks_switchbackdropto",
206
+ "parent": "event_hat_321abc",
207
+ "next": "sound_play_123jkl",
208
+ "topLevel": false,
209
+ "shadow": false,
210
+ "inputs": {
211
+ "BACKDROP": [
212
+ 1,
213
+ "shadow_backdrop_963mno"
214
+ ]
215
+ }
216
+ },
217
+ "shadow_backdrop_963mno": {
218
+ "opcode": "looks_backdrop",
219
+ "parent": "looks_switch_789def",
220
+ "topLevel": false,
221
+ "shadow": true,
222
+ "fields": {
223
+ "BACKDROP": [
224
+ "game over",
225
+ null
226
+ ]
227
+ }
228
+ },
229
+ "sound_play_123jkl": {
230
+ "opcode": "sound_playuntildone",
231
+ "parent": "looks_switch_789def",
232
+ "next": "control_if_456pqr",
233
+ "topLevel": false,
234
+ "shadow": false,
235
+ "inputs": {
236
+ "SOUND_MENU": [
237
+ 1,
238
+ "shadow_sound_741stu"
239
+ ]
240
+ }
241
+ },
242
+ "shadow_sound_741stu": {
243
+ "opcode": "sound_sounds_menu",
244
+ "parent": "sound_play_123jkl",
245
+ "topLevel": false,
246
+ "shadow": true,
247
+ "fields": {
248
+ "SOUND_MENU": [
249
+ "button",
250
+ null
251
+ ]
252
+ }
253
+ },
254
+ "control_if_456pqr": {
255
+ "opcode": "control_if",
256
+ "parent": "sound_play_123jkl",
257
+ "next": "control_stop_159vwx",
258
+ "topLevel": false,
259
+ "shadow": false,
260
+ "inputs": {
261
+ "CONDITION": [
262
+ 1,
263
+ "operator_gt_852yza"
264
+ ],
265
+ "SUBSTACK": [
266
+ 2,
267
+ "data_set_753zab"
268
+ ]
269
+ }
270
+ },
271
+ "operator_gt_852yza": {
272
+ "opcode": "operator_gt",
273
+ "parent": "control_if_456pqr",
274
+ "topLevel": false,
275
+ "shadow": false,
276
+ "inputs": {
277
+ "OPERAND1": [
278
+ 1,
279
+ "var_score_357abc"
280
+ ],
281
+ "OPERAND2": [
282
+ 1,
283
+ "var_hiscore_852def"
284
+ ]
285
+ }
286
+ },
287
+ "var_score_357abc": {
288
+ "opcode": "data_variable",
289
+ "parent": "operator_gt_852yza",
290
+ "topLevel": false,
291
+ "shadow": false,
292
+ "fields": {
293
+ "VARIABLE": [
294
+ "score",
295
+ "score_808be662"
296
+ ]
297
+ }
298
+ },
299
+ "var_hiscore_852def": {
300
+ "opcode": "data_variable",
301
+ "parent": "operator_gt_852yza",
302
+ "topLevel": false,
303
+ "shadow": false,
304
+ "fields": {
305
+ "VARIABLE": [
306
+ "\u2601 High Score",
307
+ "\u2601 High Score_1344da88"
308
+ ]
309
+ }
310
+ },
311
+ "data_set_753zab": {
312
+ "opcode": "data_setvariableto",
313
+ "parent": "control_if_456pqr",
314
+ "topLevel": false,
315
+ "shadow": false,
316
+ "fields": {
317
+ "VARIABLE": [
318
+ "\u2601 High Score",
319
+ "\u2601 High Score_1344da88"
320
+ ]
321
+ },
322
+ "inputs": {
323
+ "VALUE": [
324
+ 1,
325
+ "var_score_reporter_951yzb"
326
+ ]
327
+ }
328
+ },
329
+ "var_score_reporter_951yzb": {
330
+ "opcode": "data_variable",
331
+ "parent": "data_set_753zab",
332
+ "topLevel": false,
333
+ "shadow": false,
334
+ "fields": {
335
+ "VARIABLE": [
336
+ "score",
337
+ "score_808be662"
338
+ ]
339
+ }
340
+ },
341
+ "control_stop_159vwx": {
342
+ "opcode": "control_stop",
343
+ "parent": "control_if_456pqr",
344
+ "next": null,
345
+ "topLevel": false,
346
+ "shadow": false,
347
+ "fields": {
348
+ "STOP_OPTION": [
349
+ "all",
350
+ null
351
+ ]
352
+ }
353
+ }
354
+ },
355
+ "comments": {},
356
+ "currentCostume": 1,
357
+ "costumes": [
358
+ {
359
+ "name": "Blue sky",
360
+ "bitmapResolution": 1,
361
+ "dataFormat": "svg",
362
+ "assetId": "e7c147730f19d284bcd7b3f00af19bb6",
363
+ "md5ext": "e7c147730f19d284bcd7b3f00af19bb6.svg",
364
+ "rotationCenterX": 240,
365
+ "rotationCenterY": 180
366
+ },
367
+ {
368
+ "name": "game over",
369
+ "bitmapResolution": 1,
370
+ "dataFormat": "svg",
371
+ "assetId": "ee99a4b49761fe861db0753d43918c68",
372
+ "md5ext": "ee99a4b49761fe861db0753d43918c68.svg",
373
+ "rotationCenterX": 240,
374
+ "rotationCenterY": 180
375
+ }
376
+ ],
377
+ "sounds": [
378
+ {
379
+ "name": "button",
380
+ "dataFormat": "wav",
381
+ "rate": 44100,
382
+ "sampleCount": 0,
383
+ "assetId": "83a9787d4cb6f3b7632b4ddfebf74367",
384
+ "md5ext": "83a9787d4cb6f3b7632b4ddfebf74367.wav"
385
+ }
386
+ ],
387
+ "volume": 100,
388
+ "layerOrder": 0,
389
+ "tempo": 60,
390
+ "videoTransparency": 50,
391
+ "videoState": "on",
392
+ "textToSpeechLanguage": null
393
+ },
394
+ {
395
+ "isStage": false,
396
+ "name": "Cat",
397
+ "objName": "Cat",
398
+ "variables": {},
399
+ "lists": {},
400
+ "broadcasts": {},
401
+ "blocks": {
402
+ "block_whenFlagClicked": {
403
+ "opcode": "event_whenflagclicked",
404
+ "next": "block_gotoXY",
405
+ "parent": null,
406
+ "inputs": {},
407
+ "fields": {},
408
+ "shadow": false,
409
+ "topLevel": true,
410
+ "x": 0,
411
+ "y": 0
412
+ },
413
+ "block_gotoXY": {
414
+ "opcode": "motion_gotoxy",
415
+ "next": "block_setRotation",
416
+ "parent": "block_whenFlagClicked",
417
+ "inputs": {
418
+ "X": [
419
+ 1,
420
+ "shadow_num0"
421
+ ],
422
+ "Y": [
423
+ 1,
424
+ "shadow_num0_y"
425
+ ]
426
+ },
427
+ "fields": {},
428
+ "shadow": false,
429
+ "topLevel": false
430
+ },
431
+ "shadow_num0": {
432
+ "opcode": "math_number",
433
+ "parent": "block_gotoXY",
434
+ "inputs": {},
435
+ "fields": {
436
+ "NUM": [
437
+ "0",
438
+ null
439
+ ]
440
+ },
441
+ "shadow": true,
442
+ "topLevel": false
443
+ },
444
+ "shadow_num0_y": {
445
+ "opcode": "math_number",
446
+ "parent": "block_gotoXY",
447
+ "inputs": {},
448
+ "fields": {
449
+ "NUM": [
450
+ "0",
451
+ null
452
+ ]
453
+ },
454
+ "shadow": true,
455
+ "topLevel": false
456
+ },
457
+ "block_setRotation": {
458
+ "opcode": "motion_setrotationstyle",
459
+ "next": "block_switchCostume",
460
+ "parent": "block_gotoXY",
461
+ "inputs": {},
462
+ "fields": {
463
+ "STYLE": [
464
+ "left-right",
465
+ null
466
+ ]
467
+ },
468
+ "shadow": false,
469
+ "topLevel": false
470
+ },
471
+ "block_switchCostume": {
472
+ "opcode": "looks_switchcostumeto",
473
+ "next": "block_forever",
474
+ "parent": "block_setRotation",
475
+ "inputs": {
476
+ "COSTUME": [
477
+ 1,
478
+ "shadow_costumeCat"
479
+ ]
480
+ },
481
+ "fields": {},
482
+ "shadow": false,
483
+ "topLevel": false
484
+ },
485
+ "shadow_costumeCat": {
486
+ "opcode": "looks_costume",
487
+ "parent": "block_switchCostume",
488
+ "inputs": {},
489
+ "fields": {
490
+ "COSTUME": [
491
+ "Cat",
492
+ null
493
+ ]
494
+ },
495
+ "shadow": true,
496
+ "topLevel": false
497
+ },
498
+ "block_forever": {
499
+ "opcode": "control_forever",
500
+ "parent": "block_switchCostume",
501
+ "next": null,
502
+ "inputs": {
503
+ "SUBSTACK": [
504
+ 2,
505
+ "block_ifTouching"
506
+ ]
507
+ },
508
+ "fields": {},
509
+ "shadow": false,
510
+ "topLevel": false
511
+ },
512
+ "block_ifTouching": {
513
+ "opcode": "control_if",
514
+ "parent": "block_forever",
515
+ "next": "block_ifYPosition",
516
+ "inputs": {
517
+ "CONDITION": [
518
+ 1,
519
+ "block_touchingSoccer"
520
+ ],
521
+ "SUBSTACK": [
522
+ 2,
523
+ "block_broadcastGameOver"
524
+ ]
525
+ },
526
+ "fields": {},
527
+ "shadow": false,
528
+ "topLevel": false
529
+ },
530
+ "block_touchingSoccer": {
531
+ "opcode": "sensing_touchingobject",
532
+ "parent": "block_ifTouching",
533
+ "next": null,
534
+ "inputs": {
535
+ "TOUCHINGOBJECTMENU": [
536
+ 1,
537
+ "shadow_menuSoccer"
538
+ ]
539
+ },
540
+ "fields": {},
541
+ "shadow": false,
542
+ "topLevel": false
543
+ },
544
+ "shadow_menuSoccer": {
545
+ "opcode": "sensing_touchingobjectmenu",
546
+ "parent": "block_touchingSoccer",
547
+ "inputs": {},
548
+ "fields": {
549
+ "TOUCHINGOBJECTMENU": [
550
+ "soccer ball",
551
+ null
552
+ ]
553
+ },
554
+ "shadow": true,
555
+ "topLevel": false
556
+ },
557
+ "block_broadcastGameOver": {
558
+ "opcode": "event_broadcast",
559
+ "parent": "block_ifTouching",
560
+ "next": null,
561
+ "inputs": {
562
+ "BROADCAST_INPUT": [
563
+ 1,
564
+ "shadow_broadcastMsgGameOver"
565
+ ]
566
+ },
567
+ "fields": {},
568
+ "shadow": false,
569
+ "topLevel": false
570
+ },
571
+ "shadow_broadcastMsgGameOver": {
572
+ "opcode": "event_broadcast_menu",
573
+ "parent": "block_broadcastGameOver",
574
+ "inputs": {},
575
+ "fields": {
576
+ "BROADCAST": [
577
+ "Game Over",
578
+ "Game Over_ca22c13c"
579
+ ]
580
+ },
581
+ "shadow": true,
582
+ "topLevel": false
583
+ },
584
+ "block_ifYPosition": {
585
+ "opcode": "control_if",
586
+ "parent": "block_ifTouching",
587
+ "next": null,
588
+ "inputs": {
589
+ "CONDITION": [
590
+ 1,
591
+ "block_lessThan"
592
+ ],
593
+ "SUBSTACK": [
594
+ 2,
595
+ "block_changeY"
596
+ ]
597
+ },
598
+ "fields": {},
599
+ "shadow": false,
600
+ "topLevel": false
601
+ },
602
+ "block_lessThan": {
603
+ "opcode": "operator_lt",
604
+ "parent": "block_ifYPosition",
605
+ "next": null,
606
+ "inputs": {
607
+ "OPERAND1": [
608
+ 1,
609
+ "block_yPos"
610
+ ],
611
+ "OPERAND2": [
612
+ 1,
613
+ "shadow_num-120"
614
+ ]
615
+ },
616
+ "fields": {},
617
+ "shadow": false,
618
+ "topLevel": false
619
+ },
620
+ "block_yPos": {
621
+ "opcode": "motion_yposition",
622
+ "parent": "block_lessThan",
623
+ "next": null,
624
+ "inputs": {},
625
+ "fields": {},
626
+ "shadow": false,
627
+ "topLevel": false
628
+ },
629
+ "shadow_num-120": {
630
+ "opcode": "math_number",
631
+ "parent": "block_lessThan",
632
+ "inputs": {},
633
+ "fields": {
634
+ "NUM": [
635
+ "-120",
636
+ null
637
+ ]
638
+ },
639
+ "shadow": true,
640
+ "topLevel": false
641
+ },
642
+ "block_changeY": {
643
+ "opcode": "motion_changeyby",
644
+ "parent": "block_ifYPosition",
645
+ "next": null,
646
+ "inputs": {
647
+ "DY": [
648
+ 1,
649
+ "shadow_num3"
650
+ ]
651
+ },
652
+ "fields": {},
653
+ "shadow": false,
654
+ "topLevel": false
655
+ },
656
+ "shadow_num3": {
657
+ "opcode": "math_number",
658
+ "parent": "block_changeY",
659
+ "inputs": {},
660
+ "fields": {
661
+ "NUM": [
662
+ "3",
663
+ null
664
+ ]
665
+ },
666
+ "shadow": true,
667
+ "topLevel": false
668
+ },
669
+ "block_hat_space": {
670
+ "opcode": "event_whenkeypressed",
671
+ "next": "block_if_condition",
672
+ "parent": null,
673
+ "inputs": {
674
+ "KEY_OPTION": [
675
+ 1,
676
+ "shadow_menu_space"
677
+ ]
678
+ },
679
+ "fields": {},
680
+ "shadow": false,
681
+ "topLevel": true,
682
+ "x": 0,
683
+ "y": 150
684
+ },
685
+ "shadow_menu_space": {
686
+ "opcode": "event_whenkeypressed_menu",
687
+ "parent": "block_hat_space",
688
+ "inputs": {},
689
+ "fields": {
690
+ "KEY_OPTION": [
691
+ "space",
692
+ null
693
+ ]
694
+ },
695
+ "shadow": true,
696
+ "topLevel": false
697
+ },
698
+ "block_if_condition": {
699
+ "opcode": "control_if",
700
+ "next": null,
701
+ "parent": "block_hat_space",
702
+ "inputs": {
703
+ "CONDITION": [
704
+ 1,
705
+ "op_equals"
706
+ ],
707
+ "SUBSTACK": [
708
+ 2,
709
+ "repeat_5"
710
+ ]
711
+ },
712
+ "fields": {},
713
+ "shadow": false,
714
+ "topLevel": false
715
+ },
716
+ "op_equals": {
717
+ "opcode": "operator_equals",
718
+ "next": null,
719
+ "parent": "block_if_condition",
720
+ "inputs": {
721
+ "OPERAND1": [
722
+ 1,
723
+ "y_pos"
724
+ ],
725
+ "OPERAND2": [
726
+ 1,
727
+ "shadow_-120"
728
+ ]
729
+ },
730
+ "fields": {},
731
+ "shadow": false,
732
+ "topLevel": false
733
+ },
734
+ "y_pos": {
735
+ "opcode": "motion_yposition",
736
+ "next": null,
737
+ "parent": "op_equals",
738
+ "inputs": {},
739
+ "fields": {},
740
+ "shadow": false,
741
+ "topLevel": false
742
+ },
743
+ "shadow_-120": {
744
+ "opcode": "math_number",
745
+ "parent": "op_equals",
746
+ "inputs": {},
747
+ "fields": {
748
+ "NUM": [
749
+ "-120",
750
+ null
751
+ ]
752
+ },
753
+ "shadow": true,
754
+ "topLevel": false
755
+ },
756
+ "repeat_5": {
757
+ "opcode": "control_repeat",
758
+ "next": "sound_meow",
759
+ "parent": "block_if_condition",
760
+ "inputs": {
761
+ "TIMES": [
762
+ 1,
763
+ "shadow_5"
764
+ ],
765
+ "SUBSTACK": [
766
+ 2,
767
+ "changey_18"
768
+ ]
769
+ },
770
+ "fields": {},
771
+ "shadow": false,
772
+ "topLevel": false
773
+ },
774
+ "shadow_5": {
775
+ "opcode": "math_number",
776
+ "parent": "repeat_5",
777
+ "inputs": {},
778
+ "fields": {
779
+ "NUM": [
780
+ "5",
781
+ null
782
+ ]
783
+ },
784
+ "shadow": true,
785
+ "topLevel": false
786
+ },
787
+ "changey_18": {
788
+ "opcode": "motion_changeyby",
789
+ "next": "wait_01",
790
+ "parent": "repeat_5",
791
+ "inputs": {
792
+ "DY": [
793
+ 1,
794
+ "shadow_18"
795
+ ]
796
+ },
797
+ "fields": {},
798
+ "shadow": false,
799
+ "topLevel": false
800
+ },
801
+ "shadow_18": {
802
+ "opcode": "math_number",
803
+ "parent": "changey_18",
804
+ "inputs": {},
805
+ "fields": {
806
+ "NUM": [
807
+ "18",
808
+ null
809
+ ]
810
+ },
811
+ "shadow": true,
812
+ "topLevel": false
813
+ },
814
+ "wait_01": {
815
+ "opcode": "control_wait",
816
+ "next": "changey_-13",
817
+ "parent": "changey_18",
818
+ "inputs": {
819
+ "DURATION": [
820
+ 1,
821
+ "shadow_01"
822
+ ]
823
+ },
824
+ "fields": {},
825
+ "shadow": false,
826
+ "topLevel": false
827
+ },
828
+ "shadow_01": {
829
+ "opcode": "math_number",
830
+ "parent": "wait_01",
831
+ "inputs": {},
832
+ "fields": {
833
+ "NUM": [
834
+ "0.1",
835
+ null
836
+ ]
837
+ },
838
+ "shadow": true,
839
+ "topLevel": false
840
+ },
841
+ "changey_-13": {
842
+ "opcode": "motion_changeyby",
843
+ "next": "wait_01_2",
844
+ "parent": "wait_01",
845
+ "inputs": {
846
+ "DY": [
847
+ 1,
848
+ "shadow_-13"
849
+ ]
850
+ },
851
+ "fields": {},
852
+ "shadow": false,
853
+ "topLevel": false
854
+ },
855
+ "shadow_-13": {
856
+ "opcode": "math_number",
857
+ "parent": "changey_-13",
858
+ "inputs": {},
859
+ "fields": {
860
+ "NUM": [
861
+ "-13",
862
+ null
863
+ ]
864
+ },
865
+ "shadow": true,
866
+ "topLevel": false
867
+ },
868
+ "wait_01_2": {
869
+ "opcode": "control_wait",
870
+ "next": null,
871
+ "parent": "changey_-13",
872
+ "inputs": {
873
+ "DURATION": [
874
+ 1,
875
+ "shadow_01_dup"
876
+ ]
877
+ },
878
+ "fields": {},
879
+ "shadow": false,
880
+ "topLevel": false
881
+ },
882
+ "shadow_01_dup": {
883
+ "opcode": "math_number",
884
+ "parent": "wait_01_2",
885
+ "inputs": {},
886
+ "fields": {
887
+ "NUM": [
888
+ "0.1",
889
+ null
890
+ ]
891
+ },
892
+ "shadow": true,
893
+ "topLevel": false
894
+ },
895
+ "sound_meow": {
896
+ "opcode": "sound_playuntildone",
897
+ "next": null,
898
+ "parent": "repeat_5",
899
+ "inputs": {
900
+ "SOUND_MENU": [
901
+ 1,
902
+ "shadow_sound_meow"
903
+ ]
904
+ },
905
+ "fields": {},
906
+ "shadow": false,
907
+ "topLevel": false
908
+ },
909
+ "shadow_sound_meow": {
910
+ "opcode": "sound_sounds_menu",
911
+ "parent": "sound_meow",
912
+ "inputs": {},
913
+ "fields": {
914
+ "SOUND_MENU": [
915
+ "meow",
916
+ "83c36d806dc92327b9e7049a565c6bff"
917
+ ]
918
+ },
919
+ "shadow": true,
920
+ "topLevel": false
921
+ }
922
+ },
923
+ "comments": {},
924
+ "currentCostume": 0,
925
+ "costumes": [
926
+ {
927
+ "name": "Cat",
928
+ "bitmapResolution": 1,
929
+ "dataFormat": "svg",
930
+ "assetId": "bcf454acf82e4504149f7ffe07081dbc",
931
+ "md5ext": "bcf454acf82e4504149f7ffe07081dbc.svg",
932
+ "rotationCenterX": 0,
933
+ "rotationCenterY": 0
934
+ }
935
+ ],
936
+ "sounds": [
937
+ {
938
+ "name": "meow",
939
+ "dataFormat": "wav",
940
+ "rate": 44100,
941
+ "sampleCount": 0,
942
+ "assetId": "83c36d806dc92327b9e7049a565c6bff",
943
+ "md5ext": "83c36d806dc92327b9e7049a565c6bff.wav"
944
+ }
945
+ ],
946
+ "volume": 100,
947
+ "layerOrder": 2,
948
+ "visible": true,
949
+ "x": -100,
950
+ "y": -120,
951
+ "size": 100,
952
+ "direction": 90,
953
+ "draggable": false,
954
+ "rotationStyle": "all around"
955
+ },
956
+ {
957
+ "isStage": false,
958
+ "name": "soccer ball",
959
+ "objName": "soccer ball",
960
+ "variables": {},
961
+ "lists": {},
962
+ "broadcasts": {},
963
+ "blocks": {
964
+ "block1": {
965
+ "opcode": "event_whenflagclicked",
966
+ "next": "block2",
967
+ "parent": null,
968
+ "inputs": {},
969
+ "fields": {},
970
+ "shadow": false,
971
+ "topLevel": true,
972
+ "x": 0,
973
+ "y": 0
974
+ },
975
+ "block2": {
976
+ "opcode": "motion_gotoxy",
977
+ "next": "block3",
978
+ "parent": "block1",
979
+ "inputs": {
980
+ "X": [
981
+ 1,
982
+ "shadow2x"
983
+ ],
984
+ "Y": [
985
+ 1,
986
+ "shadow2y"
987
+ ]
988
+ },
989
+ "fields": {},
990
+ "shadow": false,
991
+ "topLevel": false
992
+ },
993
+ "shadow2x": {
994
+ "opcode": "math_number",
995
+ "fields": {
996
+ "NUM": [
997
+ "0",
998
+ null
999
+ ]
1000
+ },
1001
+ "shadow": true,
1002
+ "parent": "block2",
1003
+ "topLevel": false
1004
+ },
1005
+ "shadow2y": {
1006
+ "opcode": "math_number",
1007
+ "fields": {
1008
+ "NUM": [
1009
+ "0",
1010
+ null
1011
+ ]
1012
+ },
1013
+ "shadow": true,
1014
+ "parent": "block2",
1015
+ "topLevel": false
1016
+ },
1017
+ "block3": {
1018
+ "opcode": "control_forever",
1019
+ "next": null,
1020
+ "parent": "block2",
1021
+ "inputs": {
1022
+ "SUBSTACK": [
1023
+ 2,
1024
+ "block4"
1025
+ ]
1026
+ },
1027
+ "fields": {},
1028
+ "shadow": false,
1029
+ "topLevel": false
1030
+ },
1031
+ "block4": {
1032
+ "opcode": "control_if",
1033
+ "next": "block11",
1034
+ "parent": "block3",
1035
+ "inputs": {
1036
+ "CONDITION": [
1037
+ 1,
1038
+ "block5"
1039
+ ],
1040
+ "SUBSTACK": [
1041
+ 2,
1042
+ "block6"
1043
+ ]
1044
+ },
1045
+ "fields": {},
1046
+ "shadow": false,
1047
+ "topLevel": false
1048
+ },
1049
+ "block5": {
1050
+ "opcode": "sensing_backdropnumbername",
1051
+ "next": null,
1052
+ "parent": "block4",
1053
+ "inputs": {
1054
+ "BACKDROP": [
1055
+ 1,
1056
+ "shadow5"
1057
+ ]
1058
+ },
1059
+ "fields": {},
1060
+ "shadow": false,
1061
+ "topLevel": false
1062
+ },
1063
+ "shadow5": {
1064
+ "opcode": "text",
1065
+ "fields": {
1066
+ "TEXT": [
1067
+ "Blue Sky",
1068
+ null
1069
+ ]
1070
+ },
1071
+ "shadow": true,
1072
+ "parent": "block5",
1073
+ "topLevel": false
1074
+ },
1075
+ "block6": {
1076
+ "opcode": "motion_changexby",
1077
+ "next": "block10",
1078
+ "parent": "block4",
1079
+ "inputs": {
1080
+ "DX": [
1081
+ 1,
1082
+ "block7"
1083
+ ]
1084
+ },
1085
+ "fields": {},
1086
+ "shadow": false,
1087
+ "topLevel": false
1088
+ },
1089
+ "block7": {
1090
+ "opcode": "operator_multiply",
1091
+ "next": null,
1092
+ "parent": "block6",
1093
+ "inputs": {
1094
+ "NUM1": [
1095
+ 1,
1096
+ "shadow7a"
1097
+ ],
1098
+ "NUM2": [
1099
+ 1,
1100
+ "block8"
1101
+ ]
1102
+ },
1103
+ "fields": {},
1104
+ "shadow": false,
1105
+ "topLevel": false
1106
+ },
1107
+ "shadow7a": {
1108
+ "opcode": "math_number",
1109
+ "fields": {
1110
+ "NUM": [
1111
+ "-1",
1112
+ null
1113
+ ]
1114
+ },
1115
+ "shadow": true,
1116
+ "parent": "block7",
1117
+ "topLevel": false
1118
+ },
1119
+ "block8": {
1120
+ "opcode": "data_variable",
1121
+ "next": null,
1122
+ "parent": "block7",
1123
+ "fields": {
1124
+ "VARIABLE": [
1125
+ "speed",
1126
+ "speed_a8a1940f"
1127
+ ]
1128
+ },
1129
+ "shadow": false,
1130
+ "topLevel": false
1131
+ },
1132
+ "block10": {
1133
+ "opcode": "motion_turnright",
1134
+ "next": null,
1135
+ "parent": "block6",
1136
+ "inputs": {
1137
+ "DEGREES": [
1138
+ 1,
1139
+ "shadow10"
1140
+ ]
1141
+ },
1142
+ "fields": {},
1143
+ "shadow": false,
1144
+ "topLevel": false
1145
+ },
1146
+ "shadow10": {
1147
+ "opcode": "math_number",
1148
+ "fields": {
1149
+ "NUM": [
1150
+ "15",
1151
+ null
1152
+ ]
1153
+ },
1154
+ "shadow": true,
1155
+ "parent": "block10",
1156
+ "topLevel": false
1157
+ },
1158
+ "block11": {
1159
+ "opcode": "control_if",
1160
+ "next": null,
1161
+ "parent": "block4",
1162
+ "inputs": {
1163
+ "CONDITION": [
1164
+ 1,
1165
+ "block12"
1166
+ ],
1167
+ "SUBSTACK": [
1168
+ 2,
1169
+ "block15"
1170
+ ]
1171
+ },
1172
+ "fields": {},
1173
+ "shadow": false,
1174
+ "topLevel": false
1175
+ },
1176
+ "block12": {
1177
+ "opcode": "operator_less",
1178
+ "next": null,
1179
+ "parent": "block11",
1180
+ "inputs": {
1181
+ "OPERAND1": [
1182
+ 1,
1183
+ "block13"
1184
+ ],
1185
+ "OPERAND2": [
1186
+ 1,
1187
+ "shadow12_operand2"
1188
+ ]
1189
+ },
1190
+ "fields": {},
1191
+ "shadow": false,
1192
+ "topLevel": false
1193
+ },
1194
+ "block13": {
1195
+ "opcode": "motion_xposition",
1196
+ "next": null,
1197
+ "parent": "block12",
1198
+ "fields": {},
1199
+ "shadow": false,
1200
+ "topLevel": false
1201
+ },
1202
+ "shadow12_operand2": {
1203
+ "opcode": "math_number",
1204
+ "fields": {
1205
+ "NUM": [
1206
+ "-240",
1207
+ null
1208
+ ]
1209
+ },
1210
+ "shadow": true,
1211
+ "parent": "block12",
1212
+ "topLevel": false
1213
+ },
1214
+ "block15": {
1215
+ "opcode": "motion_gotoxy",
1216
+ "next": "block16",
1217
+ "parent": "block11",
1218
+ "inputs": {
1219
+ "X": [
1220
+ 1,
1221
+ "shadow15x"
1222
+ ],
1223
+ "Y": [
1224
+ 1,
1225
+ "block18"
1226
+ ]
1227
+ },
1228
+ "fields": {},
1229
+ "shadow": false,
1230
+ "topLevel": false
1231
+ },
1232
+ "shadow15x": {
1233
+ "opcode": "math_number",
1234
+ "fields": {
1235
+ "NUM": [
1236
+ "240",
1237
+ null
1238
+ ]
1239
+ },
1240
+ "shadow": true,
1241
+ "parent": "block15",
1242
+ "topLevel": false
1243
+ },
1244
+ "block18": {
1245
+ "opcode": "operator_random",
1246
+ "next": null,
1247
+ "parent": "block15",
1248
+ "inputs": {
1249
+ "FROM": [
1250
+ 1,
1251
+ "shadow18from"
1252
+ ],
1253
+ "TO": [
1254
+ 1,
1255
+ "shadow18to"
1256
+ ]
1257
+ },
1258
+ "fields": {},
1259
+ "shadow": false,
1260
+ "topLevel": false
1261
+ },
1262
+ "shadow18from": {
1263
+ "opcode": "math_number",
1264
+ "fields": {
1265
+ "NUM": [
1266
+ "-160",
1267
+ null
1268
+ ]
1269
+ },
1270
+ "shadow": true,
1271
+ "parent": "block18",
1272
+ "topLevel": false
1273
+ },
1274
+ "shadow18to": {
1275
+ "opcode": "math_number",
1276
+ "fields": {
1277
+ "NUM": [
1278
+ "0",
1279
+ null
1280
+ ]
1281
+ },
1282
+ "shadow": true,
1283
+ "parent": "block18",
1284
+ "topLevel": false
1285
+ },
1286
+ "block16": {
1287
+ "opcode": "data_changevariableby",
1288
+ "next": "block17",
1289
+ "parent": "block15",
1290
+ "fields": {
1291
+ "VARIABLE": [
1292
+ "score",
1293
+ "score_808be662"
1294
+ ]
1295
+ },
1296
+ "inputs": {
1297
+ "VALUE": [
1298
+ 1,
1299
+ "shadow16"
1300
+ ]
1301
+ },
1302
+ "shadow": false,
1303
+ "topLevel": false
1304
+ },
1305
+ "shadow16": {
1306
+ "opcode": "math_number",
1307
+ "fields": {
1308
+ "NUM": [
1309
+ "1",
1310
+ null
1311
+ ]
1312
+ },
1313
+ "shadow": true,
1314
+ "parent": "block16",
1315
+ "topLevel": false
1316
+ },
1317
+ "block17": {
1318
+ "opcode": "control_if",
1319
+ "next": null,
1320
+ "parent": "block16",
1321
+ "inputs": {
1322
+ "CONDITION": [
1323
+ 1,
1324
+ "block19"
1325
+ ],
1326
+ "SUBSTACK": [
1327
+ 2,
1328
+ "block21"
1329
+ ]
1330
+ },
1331
+ "fields": {},
1332
+ "shadow": false,
1333
+ "topLevel": false
1334
+ },
1335
+ "block19": {
1336
+ "opcode": "operator_equals",
1337
+ "next": null,
1338
+ "parent": "block17",
1339
+ "inputs": {
1340
+ "OPERAND1": [
1341
+ 1,
1342
+ "block20"
1343
+ ],
1344
+ "OPERAND2": [
1345
+ 1,
1346
+ "shadow19"
1347
+ ]
1348
+ },
1349
+ "fields": {},
1350
+ "shadow": false,
1351
+ "topLevel": false
1352
+ },
1353
+ "block20": {
1354
+ "opcode": "operator_mod",
1355
+ "next": null,
1356
+ "parent": "block19",
1357
+ "inputs": {
1358
+ "NUM1": [
1359
+ 1,
1360
+ "block20num1"
1361
+ ],
1362
+ "NUM2": [
1363
+ 1,
1364
+ "shadow20"
1365
+ ]
1366
+ },
1367
+ "fields": {},
1368
+ "shadow": false,
1369
+ "topLevel": false
1370
+ },
1371
+ "block20num1": {
1372
+ "opcode": "data_variable",
1373
+ "next": null,
1374
+ "parent": "block20",
1375
+ "fields": {
1376
+ "VARIABLE": [
1377
+ "speed",
1378
+ "speed_a8a1940f"
1379
+ ]
1380
+ },
1381
+ "shadow": false,
1382
+ "topLevel": false
1383
+ },
1384
+ "shadow20": {
1385
+ "opcode": "math_number",
1386
+ "fields": {
1387
+ "NUM": [
1388
+ "10",
1389
+ null
1390
+ ]
1391
+ },
1392
+ "shadow": true,
1393
+ "parent": "block20",
1394
+ "topLevel": false
1395
+ },
1396
+ "shadow19": {
1397
+ "opcode": "math_number",
1398
+ "fields": {
1399
+ "NUM": [
1400
+ "0",
1401
+ null
1402
+ ]
1403
+ },
1404
+ "shadow": true,
1405
+ "parent": "block19",
1406
+ "topLevel": false
1407
+ },
1408
+ "block21": {
1409
+ "opcode": "data_changevariableby",
1410
+ "next": "block22",
1411
+ "parent": "block17",
1412
+ "fields": {
1413
+ "VARIABLE": [
1414
+ "speed",
1415
+ "speed_a8a1940f"
1416
+ ]
1417
+ },
1418
+ "inputs": {
1419
+ "VALUE": [
1420
+ 1,
1421
+ "shadow21"
1422
+ ]
1423
+ },
1424
+ "shadow": false,
1425
+ "topLevel": false
1426
+ },
1427
+ "shadow21": {
1428
+ "opcode": "math_number",
1429
+ "fields": {
1430
+ "NUM": [
1431
+ "2",
1432
+ null
1433
+ ]
1434
+ },
1435
+ "shadow": true,
1436
+ "parent": "block21",
1437
+ "topLevel": false
1438
+ },
1439
+ "block22": {
1440
+ "opcode": "sound_playuntildone",
1441
+ "next": null,
1442
+ "parent": "block21",
1443
+ "inputs": {
1444
+ "SOUND_MENU": [
1445
+ 1,
1446
+ "shadow22_sound"
1447
+ ]
1448
+ },
1449
+ "fields": {},
1450
+ "shadow": false,
1451
+ "topLevel": false
1452
+ },
1453
+ "shadow22_sound": {
1454
+ "opcode": "sound_sounds_menu",
1455
+ "fields": {
1456
+ "SOUND_MENU": [
1457
+ "Pop",
1458
+ null
1459
+ ]
1460
+ },
1461
+ "shadow": true,
1462
+ "parent": "block22",
1463
+ "topLevel": false
1464
+ }
1465
+ },
1466
+ "comments": {},
1467
+ "currentCostume": 0,
1468
+ "costumes": [
1469
+ {
1470
+ "name": "soccer ball",
1471
+ "bitmapResolution": 1,
1472
+ "dataFormat": "svg",
1473
+ "assetId": "5d973d7a3a8be3f3bd6e1cd0f73c32b5",
1474
+ "md5ext": "5d973d7a3a8be3f3bd6e1cd0f73c32b5.svg",
1475
+ "rotationCenterX": 0,
1476
+ "rotationCenterY": 0
1477
+ }
1478
+ ],
1479
+ "sounds": [],
1480
+ "volume": 100,
1481
+ "layerOrder": 3,
1482
+ "visible": true,
1483
+ "x": 130,
1484
+ "y": 0,
1485
+ "size": 100,
1486
+ "direction": 90,
1487
+ "draggable": false,
1488
+ "rotationStyle": "all around"
1489
+ }
1490
+ ],
1491
+ "monitors": [
1492
+ {
1493
+ "id": "monitor_score_123456",
1494
+ "opcode": "data_variable",
1495
+ "mode": "default",
1496
+ "params": {
1497
+ "VARIABLE": "score"
1498
+ },
1499
+ "spriteName": null,
1500
+ "value": "0",
1501
+ "width": 200,
1502
+ "height": 200,
1503
+ "x": 5,
1504
+ "y": 5,
1505
+ "visible": true,
1506
+ "sliderMin": 0,
1507
+ "sliderMax": 100,
1508
+ "isDiscrete": true
1509
+ },
1510
+ {
1511
+ "id": "monitor_highscore_1344da88",
1512
+ "opcode": "data_variable",
1513
+ "mode": "default",
1514
+ "params": {
1515
+ "VARIABLE": "\u2601 High Score"
1516
+ },
1517
+ "spriteName": null,
1518
+ "value": "0",
1519
+ "width": 200,
1520
+ "height": 200,
1521
+ "x": 325,
1522
+ "y": 5,
1523
+ "visible": true,
1524
+ "sliderMin": 0,
1525
+ "sliderMax": 100,
1526
+ "isDiscrete": true
1527
+ },
1528
+ {
1529
+ "id": "monitor_backdrop_9c7d3f1",
1530
+ "opcode": "looks_backdropnumbername",
1531
+ "mode": "default",
1532
+ "params": {
1533
+ "NUMBER_NAME": "name"
1534
+ },
1535
+ "spriteName": null,
1536
+ "value": "game over",
1537
+ "width": 200,
1538
+ "height": 200,
1539
+ "x": 5,
1540
+ "y": 55,
1541
+ "visible": false,
1542
+ "sliderMin": 0,
1543
+ "sliderMax": 100,
1544
+ "isDiscrete": true
1545
+ }
1546
+ ],
1547
+ "extensions": [],
1548
+ "meta": {
1549
+ "semver": "3.0.0",
1550
+ "vm": "11.1.0",
1551
+ "agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"
1552
+ }
1553
+ }
generated_projects/27159694-6177-4280-8921-1ed71ff92da3/5d973d7a3a8be3f3bd6e1cd0f73c32b5.svg ADDED
generated_projects/27159694-6177-4280-8921-1ed71ff92da3/83a9787d4cb6f3b7632b4ddfebf74367.wav ADDED
Binary file (560 Bytes). View file
 
generated_projects/27159694-6177-4280-8921-1ed71ff92da3/83c36d806dc92327b9e7049a565c6bff.wav ADDED
Binary file (37.4 kB). View file
 
generated_projects/27159694-6177-4280-8921-1ed71ff92da3/bcf454acf82e4504149f7ffe07081dbc.svg ADDED
generated_projects/27159694-6177-4280-8921-1ed71ff92da3/e7c147730f19d284bcd7b3f00af19bb6.svg ADDED
generated_projects/27159694-6177-4280-8921-1ed71ff92da3/project.json ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "targets": [
3
+ {
4
+ "isStage": true,
5
+ "name": "Stage",
6
+ "objName": "Stage",
7
+ "variables": {},
8
+ "lists": {},
9
+ "broadcasts": {},
10
+ "blocks": {},
11
+ "comments": {},
12
+ "currentCostume": 0,
13
+ "costumes": [
14
+ {
15
+ "name": "Blue sky",
16
+ "bitmapResolution": 1,
17
+ "dataFormat": "svg",
18
+ "assetId": "e7c147730f19d284bcd7b3f00af19bb6",
19
+ "md5ext": "e7c147730f19d284bcd7b3f00af19bb6.svg",
20
+ "rotationCenterX": 240,
21
+ "rotationCenterY": 180
22
+ }
23
+ ],
24
+ "sounds": [
25
+ {
26
+ "name": "button",
27
+ "dataFormat": "wav",
28
+ "rate": 44100,
29
+ "sampleCount": 0,
30
+ "assetId": "83a9787d4cb6f3b7632b4ddfebf74367",
31
+ "md5ext": "83a9787d4cb6f3b7632b4ddfebf74367.wav"
32
+ }
33
+ ],
34
+ "volume": 100,
35
+ "layerOrder": 0,
36
+ "tempo": 60,
37
+ "videoTransparency": 50,
38
+ "videoState": "on",
39
+ "textToSpeechLanguage": null
40
+ },
41
+ {
42
+ "isStage": false,
43
+ "name": "Cat",
44
+ "objName": "Cat",
45
+ "variables": {},
46
+ "lists": {},
47
+ "broadcasts": {},
48
+ "blocks": {},
49
+ "comments": {},
50
+ "currentCostume": 0,
51
+ "costumes": [
52
+ {
53
+ "name": "Cat",
54
+ "bitmapResolution": 1,
55
+ "dataFormat": "svg",
56
+ "assetId": "bcf454acf82e4504149f7ffe07081dbc",
57
+ "md5ext": "bcf454acf82e4504149f7ffe07081dbc.svg",
58
+ "rotationCenterX": 0,
59
+ "rotationCenterY": 0
60
+ }
61
+ ],
62
+ "sounds": [
63
+ {
64
+ "name": "Meow",
65
+ "dataFormat": "wav",
66
+ "rate": 44100,
67
+ "sampleCount": 0,
68
+ "assetId": "83c36d806dc92327b9e7049a565c6bff",
69
+ "md5ext": "83c36d806dc92327b9e7049a565c6bff.wav"
70
+ }
71
+ ],
72
+ "volume": 100,
73
+ "layerOrder": 2,
74
+ "visible": true,
75
+ "x": 0,
76
+ "y": 0,
77
+ "size": 100,
78
+ "direction": 90,
79
+ "draggable": false,
80
+ "rotationStyle": "all around"
81
+ },
82
+ {
83
+ "isStage": false,
84
+ "name": "Ball",
85
+ "objName": "Ball",
86
+ "variables": {},
87
+ "lists": {},
88
+ "broadcasts": {},
89
+ "blocks": {},
90
+ "comments": {},
91
+ "currentCostume": 0,
92
+ "costumes": [
93
+ {
94
+ "name": "Ball",
95
+ "bitmapResolution": 1,
96
+ "dataFormat": "svg",
97
+ "assetId": "5d973d7a3a8be3f3bd6e1cd0f73c32b5",
98
+ "md5ext": "5d973d7a3a8be3f3bd6e1cd0f73c32b5.svg",
99
+ "rotationCenterX": 0,
100
+ "rotationCenterY": 0
101
+ }
102
+ ],
103
+ "sounds": [],
104
+ "volume": 100,
105
+ "layerOrder": 3,
106
+ "visible": true,
107
+ "x": 0,
108
+ "y": 0,
109
+ "size": 100,
110
+ "direction": 90,
111
+ "draggable": false,
112
+ "rotationStyle": "all around"
113
+ }
114
+ ],
115
+ "monitors": [],
116
+ "extensions": [],
117
+ "meta": {
118
+ "semver": "3.0.0",
119
+ "vm": "11.1.0",
120
+ "agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"
121
+ }
122
+ }
generated_projects/294e8be7-a99c-42be-b953-5171c1c307ec/5d973d7a3a8be3f3bd6e1cd0f73c32b5.svg ADDED
generated_projects/294e8be7-a99c-42be-b953-5171c1c307ec/83a9787d4cb6f3b7632b4ddfebf74367.wav ADDED
Binary file (560 Bytes). View file
 
generated_projects/294e8be7-a99c-42be-b953-5171c1c307ec/83c36d806dc92327b9e7049a565c6bff.wav ADDED
Binary file (37.4 kB). View file
 
generated_projects/294e8be7-a99c-42be-b953-5171c1c307ec/bcf454acf82e4504149f7ffe07081dbc.svg ADDED
generated_projects/294e8be7-a99c-42be-b953-5171c1c307ec/e7c147730f19d284bcd7b3f00af19bb6.svg ADDED
generated_projects/294e8be7-a99c-42be-b953-5171c1c307ec/project.json ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "targets": [
3
+ {
4
+ "isStage": true,
5
+ "name": "Stage",
6
+ "objName": "Stage",
7
+ "variables": {},
8
+ "lists": {},
9
+ "broadcasts": {},
10
+ "blocks": {},
11
+ "comments": {},
12
+ "currentCostume": 0,
13
+ "costumes": [
14
+ {
15
+ "name": "Blue Sky",
16
+ "bitmapResolution": 1,
17
+ "dataFormat": "svg",
18
+ "assetId": "e7c147730f19d284bcd7b3f00af19bb6",
19
+ "md5ext": "e7c147730f19d284bcd7b3f00af19bb6.svg",
20
+ "rotationCenterX": 240,
21
+ "rotationCenterY": 180
22
+ }
23
+ ],
24
+ "sounds": [
25
+ {
26
+ "name": "button",
27
+ "dataFormat": "wav",
28
+ "rate": 44100,
29
+ "sampleCount": 0,
30
+ "assetId": "83a9787d4cb6f3b7632b4ddfebf74367",
31
+ "md5ext": "83a9787d4cb6f3b7632b4ddfebf74367.wav"
32
+ }
33
+ ],
34
+ "volume": 100,
35
+ "layerOrder": 0,
36
+ "tempo": 60,
37
+ "videoTransparency": 50,
38
+ "videoState": "on",
39
+ "textToSpeechLanguage": null
40
+ },
41
+ {
42
+ "isStage": false,
43
+ "name": "Sprite1",
44
+ "objName": "Sprite1",
45
+ "variables": {},
46
+ "lists": {},
47
+ "broadcasts": {},
48
+ "blocks": {},
49
+ "comments": {},
50
+ "currentCostume": 0,
51
+ "costumes": [
52
+ {
53
+ "name": "Sprite1",
54
+ "bitmapResolution": 1,
55
+ "dataFormat": "svg",
56
+ "assetId": "bcf454acf82e4504149f7ffe07081dbc",
57
+ "md5ext": "bcf454acf82e4504149f7ffe07081dbc.svg",
58
+ "rotationCenterX": 0,
59
+ "rotationCenterY": 0
60
+ }
61
+ ],
62
+ "sounds": [
63
+ {
64
+ "name": "meow",
65
+ "dataFormat": "wav",
66
+ "rate": 44100,
67
+ "sampleCount": 0,
68
+ "assetId": "83c36d806dc92327b9e7049a565c6bff",
69
+ "md5ext": "83c36d806dc92327b9e7049a565c6bff.wav"
70
+ }
71
+ ],
72
+ "volume": 100,
73
+ "layerOrder": 2,
74
+ "visible": true,
75
+ "x": 0,
76
+ "y": 0,
77
+ "size": 100,
78
+ "direction": 90,
79
+ "draggable": false,
80
+ "rotationStyle": "all around"
81
+ },
82
+ {
83
+ "isStage": false,
84
+ "name": "soccer ball",
85
+ "objName": "soccer ball",
86
+ "variables": {},
87
+ "lists": {},
88
+ "broadcasts": {},
89
+ "blocks": {},
90
+ "comments": {},
91
+ "currentCostume": 0,
92
+ "costumes": [
93
+ {
94
+ "name": "soccer ball",
95
+ "bitmapResolution": 1,
96
+ "dataFormat": "svg",
97
+ "assetId": "5d973d7a3a8be3f3bd6e1cd0f73c32b5",
98
+ "md5ext": "5d973d7a3a8be3f3bd6e1cd0f73c32b5.svg",
99
+ "rotationCenterX": 0,
100
+ "rotationCenterY": 0
101
+ }
102
+ ],
103
+ "sounds": [],
104
+ "volume": 100,
105
+ "layerOrder": 3,
106
+ "visible": true,
107
+ "x": 0,
108
+ "y": 0,
109
+ "size": 100,
110
+ "direction": 90,
111
+ "draggable": false,
112
+ "rotationStyle": "all around"
113
+ }
114
+ ],
115
+ "monitors": [],
116
+ "extensions": [],
117
+ "meta": {
118
+ "semver": "3.0.0",
119
+ "vm": "11.1.0",
120
+ "agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"
121
+ }
122
+ }