pxt-arcade 1.7.3 → 1.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/built/common-sim.d.ts +2 -0
  2. package/built/common-sim.js +4 -0
  3. package/built/target.js +1788 -236
  4. package/built/target.json +1788 -236
  5. package/built/targetlight.json +5 -5
  6. package/built/theme.json +3 -2
  7. package/docs/gamejam/global-2021.html +459 -0
  8. package/docs/hour-of-code/all.md +27 -0
  9. package/docs/hour-of-code/{educators.html → educators-2020.html} +25 -25
  10. package/docs/hour-of-code/educators-2021.html +625 -0
  11. package/docs/{hour-of-code.html → hour-of-code-2020.html} +37 -37
  12. package/docs/hour-of-code-2021.html +438 -183
  13. package/docs/hour-of-code-ref.json +3 -0
  14. package/docs/index-ref.json +1 -1
  15. package/docs/multipart-tutorials.md +0 -8
  16. package/docs/projects/SUMMARY.md +3 -2
  17. package/docs/recipes.md +0 -7
  18. package/docs/skillmap/clicker/clicker1.md +7 -7
  19. package/docs/skillmap/clicker/clicker2.md +9 -9
  20. package/docs/skillmap/clicker/clicker3.md +8 -8
  21. package/docs/skillmap/clicker/clicker4.md +8 -8
  22. package/docs/skillmap/clicker/clicker4a.md +7 -7
  23. package/docs/skillmap/clicker/clicker5.md +3 -3
  24. package/docs/skillmap/clicker-themed/clickert1.md +66 -38
  25. package/docs/skillmap/clicker-themed/clickert2.md +77 -58
  26. package/docs/skillmap/clicker-themed/clickert3.md +75 -55
  27. package/docs/skillmap/clicker-themed/clickert4.md +105 -118
  28. package/docs/skillmap/collector/collector1.md +11 -11
  29. package/docs/skillmap/collector/collector1a.md +8 -8
  30. package/docs/skillmap/collector/collector2.md +8 -8
  31. package/docs/skillmap/collector/collector3.md +8 -8
  32. package/docs/skillmap/collector/collector3a.md +7 -7
  33. package/docs/skillmap/collector/collector4.md +8 -8
  34. package/docs/skillmap/collector/collector5.md +2 -2
  35. package/docs/skillmap/collector-themed/collectort1.md +107 -88
  36. package/docs/skillmap/collector-themed/collectort2.md +109 -87
  37. package/docs/skillmap/collector-themed/collectort3.md +138 -115
  38. package/docs/skillmap/collector-themed/collectort4.md +130 -118
  39. package/docs/skillmap/collector-themed/collectort4old.md +23 -23
  40. package/docs/skillmap/collector-themed/collectort5.md +2 -2
  41. package/docs/skillmap/educator-info/forest-map-info.md +34 -25
  42. package/docs/skillmap/educator-info/pongo-map-info.md +55 -0
  43. package/docs/skillmap/educator-info/racer-map-info.md +105 -0
  44. package/docs/skillmap/educator-info/rockstar-map-info.md +1 -1
  45. package/docs/skillmap/educator-info/simple-shark-map-info.md +101 -0
  46. package/docs/skillmap/forest/forest1.md +1 -69
  47. package/docs/skillmap/forest/forest2.md +5 -65
  48. package/docs/skillmap/forest/forest3.md +1 -174
  49. package/docs/skillmap/forest/forest4.md +2 -336
  50. package/docs/skillmap/forest/forest5.md +1 -396
  51. package/docs/skillmap/forest/forest6.md +6 -372
  52. package/docs/skillmap/forest-old.md +92 -0
  53. package/docs/skillmap/forest.md +9 -9
  54. package/docs/skillmap/forest_new/forest1.md +191 -0
  55. package/docs/skillmap/forest_new/forest2.md +217 -0
  56. package/docs/skillmap/forest_new/forest3.md +333 -0
  57. package/docs/skillmap/forest_new/forest4.md +196 -0
  58. package/docs/skillmap/forest_new/forest5.md +291 -0
  59. package/docs/skillmap/forest_new/forest6.md +272 -0
  60. package/docs/skillmap/interface/activity1.md +41 -49
  61. package/docs/skillmap/jungle/jungle1.md +48 -28
  62. package/docs/skillmap/jungle/jungle2.md +50 -26
  63. package/docs/skillmap/jungle/jungle3.md +48 -27
  64. package/docs/skillmap/jungle/jungle4.md +76 -58
  65. package/docs/skillmap/jungle/jungle5.md +31 -25
  66. package/docs/skillmap/jungle/jungle6.md +34 -28
  67. package/docs/skillmap/jungle/jungle7.md +36 -24
  68. package/docs/skillmap/jungle/jungle8.md +27 -25
  69. package/docs/skillmap/jungle.md +7 -3
  70. package/docs/skillmap/long-shark.md +119 -0
  71. package/docs/skillmap/pongo/pongo1.md +256 -0
  72. package/docs/skillmap/pongo/pongo2.md +179 -0
  73. package/docs/skillmap/pongo/pongo3.md +177 -0
  74. package/docs/skillmap/pongo.md +59 -0
  75. package/docs/skillmap/racer.md +7 -7
  76. package/docs/skillmap/rockstar/rockstar1.md +32 -41
  77. package/docs/skillmap/rockstar/rockstar2.md +45 -27
  78. package/docs/skillmap/rockstar/rockstar3.md +45 -27
  79. package/docs/skillmap/rockstar.md +3 -1
  80. package/docs/skillmap/shark/shark1-simple.md +151 -0
  81. package/docs/skillmap/shark/shark2-simple.md +203 -0
  82. package/docs/skillmap/shark/shark3-simple.md +204 -0
  83. package/docs/skillmap/shark/shark4-simple.md +246 -0
  84. package/docs/skillmap/shark/shark4a-simple.md +244 -0
  85. package/docs/skillmap/shark.md +25 -58
  86. package/docs/skillmap/space/space1.md +63 -29
  87. package/docs/skillmap/space/space2.md +34 -25
  88. package/docs/skillmap/space/space3.md +86 -69
  89. package/docs/skillmap/space/space4.md +96 -65
  90. package/docs/skillmap/space/space4a.md +34 -25
  91. package/docs/skillmap/space/space5.md +81 -45
  92. package/docs/skillmap/space/space6.md +59 -81
  93. package/docs/skillmap/space.md +8 -5
  94. package/docs/skillmap/story/card.md +6 -6
  95. package/docs/skillmap/story/card2.md +6 -6
  96. package/docs/skillmap/story/story1.md +60 -175
  97. package/docs/skillmap/story/story2.md +89 -327
  98. package/docs/skillmap/story/story3.md +238 -228
  99. package/docs/skillmap/story/story4.md +23 -23
  100. package/docs/skillmap/zoo/zoo1.md +31 -16
  101. package/docs/skillmap/zoo/zoo2.md +45 -30
  102. package/docs/skillmap/zoo/zoo2a.md +51 -36
  103. package/docs/skillmap/zoo/zoo3.md +8 -7
  104. package/docs/skillmap/zoo/zoo4.md +61 -32
  105. package/docs/skillmap/zoo/zoo5.md +41 -31
  106. package/docs/skillmap/zoo.md +2 -2
  107. package/docs/skillmaps.md +20 -4
  108. package/docs/static/experiments/accessibleblocks.png +0 -0
  109. package/docs/static/experiments/blockserrorlist.png +0 -0
  110. package/docs/static/gamejam/jams/global-2021/assets/banner.png +0 -0
  111. package/docs/static/gamejam/jams/global-2021/info.json +10 -0
  112. package/docs/static/gamejam/jams/global-2021/rules.md +22 -0
  113. package/docs/static/gamejam/jams/global-2021/style.css +141 -0
  114. package/docs/static/gamejam/lib/gamejam.d.ts +1 -0
  115. package/docs/static/gamejam/lib/gamejam.js +34 -24
  116. package/docs/static/gamejam/lib/gamejam.ts +35 -24
  117. package/docs/static/hero-gallery/stream.png +0 -0
  118. package/docs/static/hour-of-code/{apple.png → 2020/apple.png} +0 -0
  119. package/docs/static/hour-of-code/{arcade.png → 2020/arcade.png} +0 -0
  120. package/docs/static/hour-of-code/{asphodel.png → 2020/asphodel.png} +0 -0
  121. package/docs/static/hour-of-code/{card.png → 2020/card.png} +0 -0
  122. package/docs/static/hour-of-code/{chase-the-pizza.png → 2020/chase-the-pizza.png} +0 -0
  123. package/docs/static/hour-of-code/{clovers.png → 2020/clovers.png} +0 -0
  124. package/docs/static/hour-of-code/{design.png → 2020/design.png} +0 -0
  125. package/docs/static/hour-of-code/{educators → 2020/educators}/asphodel-level1.png +0 -0
  126. package/docs/static/hour-of-code/{educators → 2020/educators}/asphodel-level4.png +0 -0
  127. package/docs/static/hour-of-code/{educators → 2020/educators}/asphodel-level6.png +0 -0
  128. package/docs/static/hour-of-code/{educators → 2020/educators}/asphodel-level7.png +0 -0
  129. package/docs/static/hour-of-code/{educators → 2020/educators}/asphodel-level9.png +0 -0
  130. package/docs/static/hour-of-code/{educators → 2020/educators}/clover-design.gif +0 -0
  131. package/docs/static/hour-of-code/{educators → 2020/educators}/shark-attack-tutorial.png +0 -0
  132. package/docs/static/hour-of-code/{galga.png → 2020/galga.png} +0 -0
  133. package/docs/static/hour-of-code/{lemon-leak.png → 2020/lemon-leak.png} +0 -0
  134. package/docs/static/hour-of-code/{micro-bit.png → 2020/micro-bit.png} +0 -0
  135. package/docs/static/hour-of-code/{minecraft.png → 2020/minecraft.png} +0 -0
  136. package/docs/static/hour-of-code/{nfl.png → 2020/nfl.png} +0 -0
  137. package/docs/static/hour-of-code/{ocean-jam.png → 2020/ocean-jam.png} +0 -0
  138. package/docs/static/hour-of-code/{pixel-background-primary.png → 2020/pixel-background-primary.png} +0 -0
  139. package/docs/static/hour-of-code/{pixel-background-secondary.png → 2020/pixel-background-secondary.png} +0 -0
  140. package/docs/static/hour-of-code/{shadowed-aside-frame.png → 2020/shadowed-aside-frame.png} +0 -0
  141. package/docs/static/hour-of-code/{shadowed-button-frame.png → 2020/shadowed-button-frame.png} +0 -0
  142. package/docs/static/hour-of-code/{shadowed-primary-frame.png → 2020/shadowed-primary-frame.png} +0 -0
  143. package/docs/static/hour-of-code/{shark-attack.png → 2020/shark-attack.png} +0 -0
  144. package/docs/static/hour-of-code/{simulator.gif → 2020/simulator.gif} +0 -0
  145. package/docs/static/hour-of-code/{simulator.png → 2020/simulator.png} +0 -0
  146. package/docs/static/hour-of-code/{styles.css → 2020/styles.css} +1 -1
  147. package/docs/static/hour-of-code/2021/Rowdies/OFL.txt +93 -0
  148. package/docs/static/hour-of-code/2021/Rowdies/Rowdies-Bold.ttf +0 -0
  149. package/docs/static/hour-of-code/2021/Rowdies/Rowdies-Regular.ttf +0 -0
  150. package/docs/static/hour-of-code/2021/beginner-skillmap.png +0 -0
  151. package/docs/static/hour-of-code/2021/favicon.png +0 -0
  152. package/docs/static/hour-of-code/2021/forest-skillmap-game.gif +0 -0
  153. package/docs/static/hour-of-code/2021/game-jam-hero.png +0 -0
  154. package/docs/static/hour-of-code/2021/hoc-2020.png +0 -0
  155. package/docs/static/hour-of-code/2021/hoc-card.png +0 -0
  156. package/docs/static/hour-of-code/2021/hoc-header-educators.png +0 -0
  157. package/docs/static/hour-of-code/2021/hoc-header-plane.gif +0 -0
  158. package/docs/static/hour-of-code/2021/hoc-header-scene.gif +0 -0
  159. package/docs/static/hour-of-code/2021/jungle-skillmap.png +0 -0
  160. package/docs/static/hour-of-code/2021/makecode-example.png +0 -0
  161. package/docs/static/hour-of-code/2021/microbit.png +0 -0
  162. package/docs/static/hour-of-code/2021/minecraft.png +0 -0
  163. package/docs/static/hour-of-code/2021/rockstar-skillmap.png +0 -0
  164. package/docs/static/hour-of-code/2021/styles.css +660 -62
  165. package/docs/static/logo.png +0 -0
  166. package/docs/static/skillmap/assets/my-assets-three.png +0 -0
  167. package/docs/static/skillmap/assets/sprite-from-container.gif +0 -0
  168. package/docs/static/skillmap/backgrounds/jungle-bg.png +0 -0
  169. package/docs/static/skillmap/backgrounds/jungle-map.png +0 -0
  170. package/docs/static/skillmap/backgrounds/rock-map.png +0 -0
  171. package/docs/static/skillmap/backgrounds/rockstar-card.gif +0 -0
  172. package/docs/static/skillmap/backgrounds/space-comp.png +0 -0
  173. package/docs/static/skillmap/backgrounds/space.png +0 -0
  174. package/docs/static/skillmap/certificates/forest-cert.pdf +0 -0
  175. package/docs/static/skillmap/certificates/forest-cert.png +0 -0
  176. package/docs/static/skillmap/certificates/jungle-cert.pdf +0 -0
  177. package/docs/static/skillmap/certificates/jungle-cert.png +0 -0
  178. package/docs/static/skillmap/certificates/rockstar-cert.pdf +0 -0
  179. package/docs/static/skillmap/certificates/rockstar-cert.png +0 -0
  180. package/docs/static/skillmap/certificates/shark-cert.pdf +0 -0
  181. package/docs/static/skillmap/certificates/shark-cert.png +0 -0
  182. package/docs/static/skillmap/certificates/space-cert.pdf +0 -0
  183. package/docs/static/skillmap/certificates/space-cert.png +0 -0
  184. package/docs/static/skillmap/pongo/pongo1.gif +0 -0
  185. package/docs/static/skillmap/pongo/pongo2gif +0 -0
  186. package/docs/static/skillmap/pongo/pongo3.gif +0 -0
  187. package/docs/static/skillmap/racer/racer1.gif +0 -0
  188. package/docs/static/skillmap/racer/racer2.gif +0 -0
  189. package/docs/static/skillmap/racer/racer3.gif +0 -0
  190. package/docs/static/skillmap/rockstar/rockstar1.gif +0 -0
  191. package/docs/static/skillmap/rockstar/rockstar2.gif +0 -0
  192. package/docs/static/skillmap/rockstar/rockstar3.gif +0 -0
  193. package/docs/static/skillmap/shark/shark1-simple.gif +0 -0
  194. package/docs/static/skillmap/shark/shark4a-simple.gif +0 -0
  195. package/docs/static/skillmap/zoo/overlaps-food-sprite.gif +0 -0
  196. package/docs/tutorials/barrel-dodger.md +4 -4
  197. package/docs/tutorials/collect-the-clovers.md +2 -2
  198. package/docs/tutorials/froggy.md +105 -90
  199. package/docs/tutorials/hundred.md +400 -0
  200. package/package.json +3 -3
  201. package/pxtarget.json +3 -2
  202. package/targetconfig.json +4 -1
  203. package/docs/recipes/wonder-woman-1984/01-maze.md +0 -291
  204. package/docs/recipes/wonder-woman-1984/02-artifact.md +0 -70
  205. package/docs/recipes/wonder-woman-1984/03-enemies.md +0 -65
  206. package/docs/skillmap/forest/forest9.md +0 -714
  207. package/docs/static/hour-of-code/2021/placeholder.png +0 -0
  208. package/docs/static/hour-of-code/ww-maze.png +0 -0
  209. package/docs/static/recipes/wonder-woman-1984/artifact-preview.png +0 -0
  210. package/docs/static/recipes/wonder-woman-1984/artifacts-location.gif +0 -0
  211. package/docs/static/recipes/wonder-woman-1984/draw-maze-backup.png +0 -0
  212. package/docs/static/recipes/wonder-woman-1984/draw-walls-backup.png +0 -0
  213. package/docs/static/recipes/wonder-woman-1984/end-position.png +0 -0
  214. package/docs/static/recipes/wonder-woman-1984/enemies-location.gif +0 -0
  215. package/docs/static/recipes/wonder-woman-1984/enemies-preview.png +0 -0
  216. package/docs/static/recipes/wonder-woman-1984/fill-maze.gif +0 -0
  217. package/docs/static/recipes/wonder-woman-1984/fill-walls.gif +0 -0
  218. package/docs/static/recipes/wonder-woman-1984/wonder-woman3.png +0 -0
  219. package/docs/static/recipes/wonder-woman-1984/ww-splash3.gif +0 -0
  220. package/docs/static/recipes/wonder-woman-1984/ww-splash3.mp4 +0 -0
  221. package/docs/static/ww84-background.png +0 -0
  222. package/docs/static/ww84-header.png +0 -0
  223. package/docs/ww84.html +0 -276
  224. package/sim/public/locales/zh-CN/bundled-strings.json +0 -1800
  225. package/sim/public/locales/zh-CN/target-strings.json +0 -13
  226. package/sim/public/locales/zh-TW/bundled-strings.json +0 -1903
  227. package/sim/public/locales/zh-TW/target-strings.json +0 -8
@@ -3,34 +3,38 @@
3
3
 
4
4
  ## Welcome @showdialog
5
5
 
6
- **One of our baubles is locked away!**
6
+ **One of our baubles is locked away!**
7
+
7
8
  This activity will show you how to explode tiles so you can get every point.
8
9
 
9
10
  ![Using explosives to clear the way](/static/skillmap/jungle/jungle4.gif "Time to live dangerously!")
10
11
 
11
12
 
12
13
 
13
- ## Step 2 - Try It!
14
+ ## 2. Try It!
14
15
 
15
- **🕹️ Start by playing the game in the game window 🕹️**
16
+ **🕹️ Start by playing the game in the game window**
16
17
 
17
18
  ---
18
19
 
19
20
  Can you find the bauble that's blocked-in?
20
21
 
21
22
 
22
- ## Step 3 - When B Pressed
23
+ ## 3. When B Pressed
23
24
 
24
- **💥 Nothing a little dynamite can't fix 💥**
25
- We need to remove some walls and tiles! Let's clear the way when the B button is pressed.
25
+ **Nothing a little dynamite can't fix**
26
+ 💥💥💥
27
+ We need to remove some walls and tiles! Let's clear the way when the (B) button is pressed.
26
28
 
27
29
  ---
28
30
 
29
- From ``||controller:Controller||``, drag the ``||controller:on [A] button [pressed]||`` container into an empty area of the workspace.
31
+ - :game: Drag the
32
+ ``||controller:on [A] button [pressed]||``
33
+ container into an empty area of the workspace.
30
34
 
31
- Click the letter A and change it to B.
35
+ - :mouse pointer: Click the letter A and change it to B.
32
36
 
33
- Move to the next step to learn how to spawn your explosive.
37
+ _ 💡 Move to the next step to learn how to spawn your explosive._
34
38
 
35
39
 
36
40
  ```blocks
@@ -39,17 +43,21 @@ controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
39
43
  })
40
44
  ```
41
45
 
42
- ## Step 4 - Set the explosive
46
+ ## 4. Set the Explosive
43
47
 
44
48
  We're going to use a **Projectile** block here, even though our dynamite stays in one place.
45
49
 
46
50
  ---
47
51
 
48
- From ``||sprites:Sprites||``, drag ``||variables:set [projectile] to projectile from [mySprite] with vx [50] vy [50]||`` into the empty ``||controller:on [B] button [pressed]||`` container.
52
+ - :paper plane: Drag
53
+ ``||variables:set [projectile] to projectile from [mySprite] with vx [50] vy [50]||``
54
+ into the empty
55
+ ``||controller:on [B] button [pressed]||``
56
+ container.
49
57
 
50
- Change both **vx** (horizontal speed) and **vy** (vertical speed) to **0** so the explosive stays where you drop it.
58
+ - :mouse pointer: Change both **vx** (horizontal speed) and **vy** (vertical speed) to **0** so the explosive stays where you drop it.
51
59
 
52
- 💡 Don't set the image yet. We'll handle that in another step.
60
+ _💡 Don't set the image yet. We'll handle that in another step._
53
61
 
54
62
 
55
63
 
@@ -61,17 +69,24 @@ controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
61
69
  })
62
70
  ```
63
71
 
64
- ## Step 5 - Make it powerful
72
+ ## 5. Make it Powerful
65
73
 
66
74
  For the explosive to overlap the blocks around it, we need it to be able to **go through walls**!
67
75
 
68
76
  ---
69
77
 
70
- From ``||sprites:Sprites||``, drag ``||sprites:set [mySprite] [auto destroy] <OFF>||`` into **the end** of ``||controller:on [B] button [pressed]||`` container, then toggle **`<OFF>`** to **`<ON>`**.
78
+ - :paper plane: Drag
79
+ ``||sprites:set [mySprite] [auto destroy] <OFF>||``
80
+ into **the end** of
81
+ ``||controller:on [B] button [pressed]||``
82
+ container, then toggle **`<OFF>`** to **`<ON>`**.
71
83
 
72
- Click ``||variables:mySprite||`` and change it to ``||variables:projectile||``.
84
+ - :mouse pointer: Click ``||variables:mySprite||`` and change it to ``||variables:projectile||``.
73
85
 
74
- Click ``||sprites:auto destroy||`` and change it to ``||sprites:ghost through walls||``.
86
+ - :mouse pointer: Click
87
+ ``||sprites:auto destroy||``
88
+ and change it to
89
+ ``||sprites:ghost through walls||``.
75
90
 
76
91
 
77
92
  ```blocks
@@ -83,17 +98,20 @@ let projectile = sprites.createProjectileFromSprite(assets.image`blank`, mySprit
83
98
  })
84
99
  ```
85
100
 
86
- ## Step 6 - Animate It!
101
+ ## 6. Animate It!
87
102
 
88
103
  In this step, we'll choose **an animation** for our projectile to make it look like it's exploding!
89
104
 
90
105
  ---
91
106
 
92
- Click the **Advanced** category in the toolbar to reveal the ``||animation:Animation||`` category.
107
+ - :chevron down: Click the **Advanced** category in the toolbar to reveal the ``||animation:Animation||`` category.
93
108
 
94
- Drag the large ``||animation:animate [mySprite]||`` block to **the end** of ``||controller:on [B] button [pressed]||``.
109
+ - :sync: Drag the large
110
+ ``||animation:animate [mySprite]||``
111
+ block to **the end** of
112
+ ``||controller:on [B] button [pressed]||``.
95
113
 
96
- Click ``||variables:mySprite||`` and change it to ``||variables:projectile||``.
114
+ - :mouse pointer: Click ``||variables:mySprite||`` and change it to ``||variables:projectile||``.
97
115
 
98
116
 
99
117
  ```blocks
@@ -104,22 +122,7 @@ controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
104
122
  animation.runImageAnimation(
105
123
  projectile,
106
124
  [img`
107
- . . . . . . . . . . . . . . . .
108
- . . . . . . . . . . . . . . . .
109
- . . . . . . . . . . . . . . . .
110
- . . . . . . . . . . . . . . . .
111
- . . . . . . . . . . . . . . . .
112
- . . . . . . . . . . . . . . . .
113
- . . . . . . . . . . . . . . . .
114
- . . . . . . . . . . . . . . . .
115
- . . . . . . . . . . . . . . . .
116
- . . . . . . . . . . . . . . . .
117
- . . . . . . . . . . . . . . . .
118
- . . . . . . . . . . . . . . . .
119
- . . . . . . . . . . . . . . . .
120
- . . . . . . . . . . . . . . . .
121
- . . . . . . . . . . . . . . . .
122
- . . . . . . . . . . . . . . . .
125
+ .
123
126
  `],
124
127
  500,
125
128
  false
@@ -127,14 +130,14 @@ controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
127
130
  })
128
131
  ```
129
132
 
130
- ## Step 7 - Choose the Boom!
133
+ ## 7. Choose the Boom!
131
134
 
132
135
 
133
- Inside the large ``||animation:animate [mySprite]||`` block, click the empty grey square and toggle to **My Assets** to choose the **splode** animation, then click **Done**.
136
+ - :paint brush: Inside the large ``||animation:animate [mySprite]||`` block, click the empty grey square and toggle to **My Assets** to choose the **splode** animation, then click **Done**.
134
137
 
135
- The **interval** should automatically change to **100** ms, but if it doesn't, you can change it yourself.
138
+ - :binoculars: The **interval** should automatically change to **100** ms, but if it doesn't, you can change it yourself.
136
139
 
137
- 💡 Don't worry if the animation looks empty in your code. The beginning frames are blank to give your character time to get out of the way!
140
+ _💡 Don't worry if the animation looks empty in your code. The beginning frames are blank to give your character time to get out of the way!_
138
141
 
139
142
 
140
143
  ```blocks
@@ -151,30 +154,32 @@ controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
151
154
  })
152
155
  ```
153
156
 
154
- ## Try It!
157
+ ## 8. Try It Again!
155
158
 
156
- **🕹️ Now try your game 🕹️**
159
+ **🕹️ Now try your game**
157
160
 
158
161
  ---
159
162
 
160
- You should be able to jump with the up arrow, place tiles with the A button, and set an explosive with the B button.
163
+ You should be able to jump with the up arrow, place tiles with the (A) button, and set an explosive with the (B) button.
161
164
 
162
165
  **BUT WAIT!** The explosive doesn't do anything. We'll fix that in the next step.
163
166
 
164
167
 
165
168
 
166
- ## Step 9 - Removing Block Tiles
169
+ ## 9. Removing Block Tiles
167
170
 
168
- **💥 Kaboom 💥**
171
+ **💥 Kaboom 💥**
169
172
  When your **splode** animation overlaps a platform tile, we need to remove both the wall and the tile.
170
173
 
171
174
  ---
172
175
 
173
- From ``||scene:Scene||``, drag the ``||scene:on [sprite] of kind [Player] overlaps [ ] at [location]||`` container into an empty area of the workspace.
176
+ - :tree: Drag the
177
+ ``||scene:on [sprite] of kind [Player] overlaps [ ] at [location]||``
178
+ container into an empty area of the workspace.
174
179
 
175
- Click ``||sprites:Player||`` and change it to ``||sprites:Projectile||``.
180
+ - :mouse pointer: Click ``||sprites:Player||`` and change it to ``||sprites:Projectile||``.
176
181
 
177
- Click the empty tile box and choose the leafy **skyblock** platform tile.
182
+ - :paint brush: Click the empty tile box and choose the leafy **skyblock** platform tile.
178
183
 
179
184
 
180
185
  ```blocks
@@ -183,11 +188,18 @@ scene.onOverlapTile(SpriteKind.Projectile, assets.tile`skyblock`, function (spri
183
188
  })
184
189
  ```
185
190
 
186
- ## Step 10 - Removing Walls
191
+ ## 10. Removing Walls
187
192
 
188
- From ``||scene:Scene||``, drag ``||scene:set wall <OFF> at tilemap col [0] row [0]||`` into the empty ``||scene:on [sprite] of kind [Projectile] overlaps [skyblock] at [location]||`` container.
193
+ - :tree: Drag
194
+ ``||scene:set wall <OFF> at tilemap col [0] row [0]||``
195
+ into the empty
196
+ ``||scene:on [sprite] of kind [Projectile] overlaps [skyblock] at [location]||``
197
+ container.
189
198
 
190
- To remove the wall at the location of overlap, drag the ``||variables:location||`` value block out of the ``||scene:on [sprite] of kind [Projectile] overlaps [skyblock] at [location]||`` title and drop it in to replace ``||scene:tilemap col [0] row [0]||``.
199
+ - :mouse pointer: To remove the wall at the location of overlap, drag the ``||variables:location||`` value block out of the
200
+ ``||scene:on [sprite] of kind [Projectile] overlaps [skyblock] at [location]||``
201
+ title and drop it in to replace
202
+ ``||scene:tilemap col [0] row [0]||``.
191
203
 
192
204
  ![Editing our platformer](/static/skillmap/jungle/projectile-wall-off.gif "Time to live dangerously!")
193
205
 
@@ -204,15 +216,21 @@ scene.onOverlapTile(SpriteKind.Projectile, assets.tile`skyblock`, function (spri
204
216
  ![Editing our platformer](/static/skillmap/jungle/projectile-wall-off.gif "Time to live dangerously!")
205
217
 
206
218
 
207
- ## Step 11 - Removing Tiles
219
+ ## 11. Removing Tiles
208
220
 
209
221
  Lastly, we need to remove the tile from the same place that we removed the wall.
210
222
 
211
223
  ---
212
224
 
213
- From ``||scene:Scene||``, drag the ``||scene:set [ ] at tilemap col [0] row [0]||`` into **the end** of the ``||scene:on [sprite] of kind [Projectile] overlaps [skyblock] at [location]||`` container.
225
+ - :tree: Drag
226
+ ``||scene:set [ ] at tilemap col [0] row [0]||``
227
+ into **the end** of the
228
+ ``||scene:on [sprite] of kind [Projectile] overlaps [skyblock] at [location]||``
229
+ container.
214
230
 
215
- To remove the tile at the location of overlap, drag the ``||variables:location||`` value block out of the ``||scene:on [sprite] of kind [Projectile] overlaps [skyblock] at [location]||`` title and drop it in to replace ``||scene:tilemap col [0] row [0]||``.
231
+ - :mouse pointer: To remove the tile at the location of overlap, drag the ``||variables:location||`` value block out of the
232
+ ``||scene:on [sprite] of kind [Projectile] overlaps [skyblock] at [location]||`` title and drop it in to replace
233
+ ``||scene:tilemap col [0] row [0]||``.
216
234
 
217
235
 
218
236
  ```blocks
@@ -223,7 +241,7 @@ scene.onOverlapTile(SpriteKind.Projectile, assets.tile`skyblock`, function (spri
223
241
  })
224
242
  ```
225
243
 
226
- ## Try It!
244
+ ## 12. Play!
227
245
 
228
246
  **🕹️ Time to play your game 🕹️**
229
247
 
@@ -233,13 +251,13 @@ You should have everything you need to collect all five baubles and get to the e
233
251
 
234
252
 
235
253
 
236
- ## Finished
254
+ ## Finale
237
255
 
238
256
  **Play your game and see how many points you can get.**
239
257
 
240
258
  ---
241
259
 
242
- When you're done playing, click **Done** to return to the main page to learn how to add additional consequences for your explosives.
260
+ When you're done playing, click **Done** to return to the main page to find out how to add additional consequences for your explosives!
243
261
 
244
262
 
245
263
 
@@ -3,33 +3,35 @@
3
3
 
4
4
  ## Welcome @showdialog
5
5
 
6
- **🧨 Explosions are dangerous 🧨**
6
+ **🧨 Explosions are dangerous 🧨**
7
+
7
8
  This activity will show you how to register a hit on your player if the monkey is standing too close to the blast. You can remove other game elements, too!
8
9
 
9
10
  ![Move away from the explosions!](/static/skillmap/jungle/jungle5.gif "Don't live too dangerously!")
10
11
 
11
12
 
12
13
 
13
- ## Step 2 - Try It!
14
+ ## 2. Try It!
14
15
 
15
- **🕹️ Start by playing your game in the game window 🕹️**
16
+ **🕹️ Start by playing your game in the game window**
16
17
 
17
18
  ---
18
19
 
19
20
  Can you connect each chunk of code to the actions it creates?
20
21
 
21
22
 
22
- ## Step 3 - Fried Monkey
23
+ ## 3. Fried Monkey?
23
24
 
24
- **💥 STAND BACK 💥**
25
+ **💥 STAND BACK 💥**
25
26
  Make sure to get the monkey out of the way before the big bang!
26
27
 
27
28
  ---
28
29
 
29
- From ``||sprites:Sprites||``, drag the
30
- ``||sprites:on [sprite] of kind [Player] overlaps [otherSprite] of kind [Player]||`` container into an empty area of the workspace.
30
+ - :paper plane: Drag the
31
+ ``||sprites:on [sprite] of kind [Player] overlaps [otherSprite] of kind [Player]||``
32
+ container into an empty area of the workspace.
31
33
 
32
- Click the second kind ``||sprites:Player||`` and change it to ``||sprites:Projectile||``.
34
+ - :mouse pointer: Click the second kind ``||sprites:Player||`` and change it to ``||sprites:Projectile||``.
33
35
 
34
36
 
35
37
  ```blocks
@@ -38,11 +40,13 @@ sprites.onOverlap(SpriteKind.Player, SpriteKind.Projectile, function (sprite, ot
38
40
  })
39
41
  ```
40
42
 
41
- ## Step 4 - Remove the Projectile
43
+ ## 4. Remove the Projectile
42
44
 
43
- From the ``||sprites:Sprites||`` category, drag ``||sprites:destroy [mySprite]||`` into the empty **on Projectile overlaps Player** container.
45
+ - :paper plane: Drag
46
+ ``||sprites:destroy [mySprite]||``
47
+ into the empty **on Projectile overlaps Player** container.
44
48
 
45
- Drag the ``||variables:otherSprite||`` value block out of the title bar to replace ``||variables:mySprite||``.
49
+ - :mouse pointer: Drag the ``||variables:otherSprite||`` value block out of the title bar to replace ``||variables:mySprite||``.
46
50
 
47
51
  ![Borrow a variable](/static/skillmap/assets/give-var.gif "Don't destroy the monkey!")
48
52
 
@@ -62,13 +66,15 @@ sprites.onOverlap(SpriteKind.Player, SpriteKind.Projectile, function (sprite, ot
62
66
 
63
67
 
64
68
 
65
- ## Step 5 - Take a Hit
69
+ ## 5. Take a Hit
66
70
 
67
71
  Don't forget to remove HP from the monkey!
68
72
 
69
73
  ---
70
74
 
71
- From ``||info:Info||``, drag ``||info:change life by [-1]||`` to **the end** of the **on Projectile overlaps Player** container.
75
+ - :id card: Drag
76
+ ``||info:change life by [-1]||``
77
+ to **the end** of the **on Projectile overlaps Player** container.
72
78
 
73
79
 
74
80
  ```blocks
@@ -81,31 +87,31 @@ sprites.onOverlap(SpriteKind.Player, SpriteKind.Projectile, function (sprite, ot
81
87
 
82
88
 
83
89
 
84
- ## Try It!
90
+ ## 6. Try It!
85
91
 
86
92
  **🕹️ Try your game 🕹️**
87
93
 
88
94
  ---
89
95
 
90
- You should be able to jump with the up arrow, place tiles with the A button, and set an explosive with the B button.
96
+ You should be able to jump with the up arrow, place tiles with the (A) button, and set an explosive with the (B) button.
91
97
 
92
98
  **What happens if you don't get your monkey out of the way quickly enough?**
93
99
 
94
100
 
95
101
 
96
102
 
97
- ## Step 9 - Remove More Tiles
103
+ ## 7. Remove More Tiles
98
104
 
99
- **💥 Kablow 💥**
105
+ **💥 Kablow 💥**
100
106
  This game could have even more options if we remove **bounce** crates and **poison pit** tiles with explosives, too.
101
107
 
102
108
  ---
103
109
 
104
- Find the **Projectile overlaps skyblock** container that's already in your code.
110
+ - :binoculars: Find the **Projectile overlaps skyblock** container that's already in your code.
105
111
 
106
- Right-click the outer container and choose **Duplicate**. The new chunk of code will be faded out, but that's okay!
112
+ - :mouse pointer: Right-click the outer container and choose **Duplicate**. The new chunk of code will be faded out, but that's okay!
107
113
 
108
- In the new container, change the **skyblock** tile to the **bounce** crate.
114
+ - :paint brush: In the new container, change the **skyblock** tile to the **bounce** crate.
109
115
 
110
116
 
111
117
  ```blocks
@@ -119,9 +125,9 @@ scene.onOverlapTile(SpriteKind.Projectile, assets.tile`bounce`, function (sprite
119
125
  })
120
126
  ```
121
127
 
122
- ## Step 9 - Remove More Tiles
128
+ ## 8. Remove More Tiles
123
129
 
124
- Repeat the process once again, but this time choose the **poison pit** tile.
130
+ - :mouse pointer: Repeat the process once again, but this time choose the **poison pit** tile.
125
131
 
126
132
 
127
133
  ```blocks
@@ -140,7 +146,7 @@ scene.onOverlapTile(SpriteKind.Projectile, assets.tile`bounce`, function (sprite
140
146
  ```
141
147
 
142
148
 
143
- ## Try It!
149
+ ## 9. Play!
144
150
 
145
151
  **🕹️ Play your game 🕹️**
146
152
 
@@ -150,9 +156,9 @@ Now that you can add and destroy blocks, is there anywhere you can't reach?!
150
156
 
151
157
 
152
158
 
153
- ## Finished
159
+ ## Finale
154
160
 
155
- When you're done playing your game, click **Done** to return to the main page to learn how to animate your main player!
161
+ When you're done playing your game, click **Done** to return to the main skillmap to move on and see how to animate your sprite!
156
162
 
157
163
 
158
164
 
@@ -11,25 +11,27 @@ Now that we've added an animation for our explosives, let's animate our characte
11
11
 
12
12
 
13
13
 
14
- ## Step 2 - Try It!
14
+ ## 2. Try It!
15
15
 
16
- **🕹️ Start by playing your game in the game window 🕹️**
16
+ **🕹️ Start by playing your game in the game window**
17
17
 
18
18
  ---
19
19
 
20
20
  Can you connect each chunk of code to the actions it creates?
21
21
 
22
22
 
23
- ## Step 3 - Step to the Right
23
+ ## 3. Step to the Right
24
24
 
25
- **➡️ Walking to the Right ➡️**
25
+ **➡️ Walking to the Right**
26
26
  Let's make our character walk to the right when the right arrow is pressed.
27
27
 
28
28
  ---
29
29
 
30
- To add code that runs when the player moves to the right, open ``||controller:Controller||`` and drag ``||controller:on [A] button [pressed]||`` into an empty area of the workspace.
30
+ - :game: To add code that runs when the player moves to the right, drag
31
+ ``||controller:on [A] button [pressed]||``
32
+ into an empty area of the workspace.
31
33
 
32
- Click ``||controller:A||`` and choose ``||controller:right||`` from the dropdown.
34
+ - :mouse pointer: Click ``||controller:A||`` and choose ``||controller:right||`` from the dropdown.
33
35
 
34
36
 
35
37
  ```blocks
@@ -38,15 +40,19 @@ controller.right.onEvent(ControllerButtonEvent.Pressed, function () {
38
40
  })
39
41
  ```
40
42
 
41
- ## Step 4 - Right Animation
43
+ ## 4. Right Animation
42
44
 
43
- Click the **Advanced** category in the toolbar to reveal the ``||animation:Animation||`` category.
45
+ - :chevron down: Click the **Advanced** category in the toolbar to reveal the ``||animation:Animation||`` category.
44
46
 
45
- Drag the large ``||animation:animate [mySprite]||`` into the empty ``||controller:on [right] button [pressed]||`` container.
47
+ - :sync: Drag the large
48
+ ``||animation:animate [mySprite]||``
49
+ block into the empty
50
+ ``||controller:on [right] button [pressed]||``
51
+ container.
46
52
 
47
- Click the empty grey box and toggle to **My Assets** to choose the **walk right** animation.
53
+ - :paint brush: Click the empty grey box and toggle to **My Assets** to choose the **walk right** animation.
48
54
 
49
- Toggle **loop** to **`<ON>`** so the monkey continues to walk.
55
+ - :mouse pointer: Toggle **loop** to **`<ON>`** so the monkey continues to walk.
50
56
 
51
57
 
52
58
 
@@ -64,19 +70,13 @@ controller.right.onEvent(ControllerButtonEvent.Pressed, function () {
64
70
 
65
71
 
66
72
 
67
- ## Step 5 - Walk Left
73
+ ## 5. Walk Left
68
74
 
69
- **⬅️ And Left ⬅️**
75
+ **⬅️ And Left**
70
76
 
71
77
  ---
72
78
 
73
- Drag another ``||controller:on [A] button [pressed]||`` into an empty area of the workspace.
74
-
75
- ► Click ``||controller:A||`` and choose ``||controller:left||`` from the dropdown.
76
-
77
- ► Drag ``||animation:animate [mySprite]||`` into the empty ``||controller:on [left] button [pressed]||`` container.
78
-
79
- ► Click the grey box and toggle to **My Assets** to choose the **walk left** animation, then toggle **loop** to **`<ON>`**.
79
+ Look at what you did for the right animation and see if you can figure out what changes to make when for when the left arrow is pressed.
80
80
 
81
81
 
82
82
  ```blocks
@@ -92,7 +92,7 @@ controller.left.onEvent(ControllerButtonEvent.Pressed, function () {
92
92
 
93
93
 
94
94
 
95
- ## Try It!
95
+ ## 6. Try It!
96
96
 
97
97
  **🕹️ Try your game 🕹️**
98
98
 
@@ -101,17 +101,23 @@ controller.left.onEvent(ControllerButtonEvent.Pressed, function () {
101
101
  Does your monkey walk right when you click the right arrow? Does it walk left with the left arrow?
102
102
 
103
103
 
104
- ## Step 9 - Jump!
104
+ ## 7. Jump!
105
105
 
106
106
  Now we need an animation that runs when the monkey jumps!
107
107
 
108
108
  ---
109
109
 
110
- Find your ``||controller:on [up] button [pressed]||`` container.
110
+ - :binoculars: Find your
111
+ ``||controller:on [up] button [pressed]||``
112
+ container that's already in the workspace.
111
113
 
112
- From ``||animation:Animation||``, grab an ``||animation:animate [mySprite]||`` block and drag it into **the end** of the ``||controller:on [up] button [pressed]||`` container.
114
+ - :sync: Grab an
115
+ ``||animation:animate [mySprite]||``
116
+ block and drag it into **the end** of the
117
+ ``||controller:on [up] button [pressed]||``
118
+ container.
113
119
 
114
- Click the empty grey box and toggle to **My Assets** to choose the **jump** animation.
120
+ - :paint brush: Click the empty grey box and toggle to **My Assets** to choose the **jump** animation.
115
121
 
116
122
 
117
123
 
@@ -129,7 +135,7 @@ controller.up.onEvent(ControllerButtonEvent.Pressed, function () {
129
135
  ```
130
136
 
131
137
 
132
- ## Try It!
138
+ ## 8. Play!
133
139
 
134
140
  **🕹️ Play your game 🕹️**
135
141
 
@@ -139,9 +145,9 @@ Your monkey should look amazing as it runs and jumps!
139
145
 
140
146
 
141
147
 
142
- ## Finished
148
+ ## Finale
143
149
 
144
- When you're done playing your game, click **Done** to return to the main page to learn how to add more levels!
150
+ When you're done playing your game, click **Done** to return to the main skillmap to move on and find out how to add more levels!
145
151
 
146
152
 
147
153