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
@@ -191,7 +191,7 @@ forever(function () {
191
191
 
192
192
 
193
193
 
194
- ## Intro @showdialog
194
+ ## {Intro @showdialog}
195
195
 
196
196
  Ready to give your game some extra life?
197
197
 
@@ -200,7 +200,7 @@ Ready to give your game some extra life?
200
200
 
201
201
 
202
202
 
203
- ## Step 1
203
+ ## {Step 1}
204
204
 
205
205
  The code for a collector game is already in the workspace.
206
206
 
@@ -208,15 +208,15 @@ The code for a collector game is already in the workspace.
208
208
 
209
209
  ---
210
210
 
211
- Right-click on the ``||loops:forever||`` loop container that holds
211
+ - :mouse pointer: Right-click on the ``||loops:forever||`` loop container that holds
212
212
  the code to create **myEnemy** and choose **Duplicate** from the
213
213
  top of the menu.
214
214
 
215
- Inside that new loop, click on the ``||variables: myEnemy||`` variable in the
215
+ - :mouse pointer: Inside that new loop, click on the ``||variables: myEnemy||`` variable in the
216
216
  **set projectile to** block. A dropdown will appear, allowing you to
217
217
  select **New variable...** .
218
218
 
219
- Name your extra life projectile **extraLife**.
219
+ - :mouse pointer: Name your extra life projectile **extraLife**.
220
220
 
221
221
 
222
222
  ```blocks
@@ -249,7 +249,7 @@ forever(function () {
249
249
  ```
250
250
 
251
251
 
252
- ## Step 2
252
+ ## {Step 2}
253
253
 
254
254
  **The extra life isn't quite ready.**
255
255
 
@@ -258,13 +258,13 @@ in the new **forever** loop pointed to the right place.
258
258
 
259
259
  ---
260
260
 
261
- Change the variables in both the **set y to** block AND the **set kind to**
261
+ - :mouse pointer: Change the variables in both the **set y to** block AND the **set kind to**
262
262
  block from ``||variables:myEnemy||`` to ``||variables:extraLife||``.
263
263
 
264
- Now change the image for the **extraLife** sprite from a rock to
264
+ - :mouse pointer: Now change the image for the **extraLife** sprite from a rock to
265
265
  something healing...like a heart or a potion.
266
266
 
267
- Extra lives aren't the enemy, they're fuel! In the **set kind to** block,
267
+ - :mouse pointer: Extra lives aren't the enemy, they're fuel! In the **set kind to** block,
268
268
  change **Enemy** to **Food**.
269
269
 
270
270
 
@@ -297,7 +297,7 @@ forever(function () {
297
297
  ```
298
298
 
299
299
 
300
- ## Step 3
300
+ ## {Step 3}
301
301
 
302
302
  Extra lives are supposed to be special, but they appear just as much
303
303
  as the other two projectiles right now.
@@ -306,7 +306,7 @@ as the other two projectiles right now.
306
306
 
307
307
  ---
308
308
 
309
- Inside the new **extraLife** forever loop, change the
309
+ - :mouse pointer: Inside the new **extraLife** forever loop, change the
310
310
  random **pause** to stay between **4500** and **5500** ms.
311
311
 
312
312
 
@@ -341,7 +341,7 @@ forever(function () {
341
341
 
342
342
 
343
343
 
344
- ## Step 4
344
+ ## {Step 4}
345
345
 
346
346
  **Play through your game once or twice. Notice anything wrong?**
347
347
 
@@ -350,13 +350,13 @@ fix that.
350
350
 
351
351
  ---
352
352
 
353
- Duplicate the **on sprite overlaps Enemy** container that's already in the
353
+ - :mouse pointer: Duplicate the **on sprite overlaps Enemy** container that's already in the
354
354
  workspace.
355
355
 
356
- In the header of the new container,
356
+ - :mouse pointer: In the header of the new container,
357
357
  change the second **kind** from **Enemy** to **Food**.
358
358
 
359
- Change the effect from **fire** to something more appropriate for an
359
+ - :mouse pointer: Change the effect from **fire** to something more appropriate for an
360
360
  extra life. (**Hearts** work well with this theme.)
361
361
 
362
362
 
@@ -369,7 +369,7 @@ sprites.onOverlap(SpriteKind.Player, SpriteKind.Food, function (sprite, otherSpr
369
369
  ```
370
370
 
371
371
 
372
- ## Step 6
372
+ ## {Step 6}
373
373
 
374
374
  The extra life is still **subtracting** a life when collected.
375
375
 
@@ -377,14 +377,14 @@ Let's make it **add** one, instead.
377
377
 
378
378
  ---
379
379
 
380
- Inside the **on sprite overlaps Food** container,
380
+ - :mouse pointer: Inside the **on sprite overlaps Food** container,
381
381
  Look for the ``||info:change life by [-1]||`` block
382
382
  and change **-1** to **1**.
383
383
 
384
- To exaggerate this gift even more, open the ``||sprites:Sprites||`` category
384
+ - :mouse pointer: To exaggerate this gift even more, open the ``||sprites:Sprites||`` category
385
385
  and grab a ``||sprites:[mySprite] say [":)"]||`` block.
386
386
 
387
- Snap the new block into the **top** of the **on sprite overlaps Food** container.
387
+ - :mouse pointer: Snap the new block into the **top** of the **on sprite overlaps Food** container.
388
388
 
389
389
 
390
390
 
@@ -401,14 +401,14 @@ sprites.onOverlap(SpriteKind.Player, SpriteKind.Food, function (sprite, otherSpr
401
401
 
402
402
 
403
403
 
404
- ## Step 7
404
+ ## {Step 7}
405
405
 
406
- The new **mySprite say** block is pointed toward the wrong sprite. To fix that,
406
+ - :mouse pointer: The new **mySprite say** block is pointed toward the wrong sprite. To fix that,
407
407
  drag the ``||variables:otherSprite||`` argument out of the header of the
408
408
  **on sprite overlaps Food** header and snap it in to replace the
409
409
  ``||variables:mySprite||`` variable.
410
410
 
411
- Change the text from **:)** to **+1**.
411
+ - :mouse pointer: Change the text from **:)** to **+1**.
412
412
 
413
413
 
414
414
  ```blocks
@@ -422,7 +422,7 @@ sprites.onOverlap(SpriteKind.Player, SpriteKind.Food, function (sprite, otherSpr
422
422
 
423
423
  ```
424
424
 
425
- ## Step 8
425
+ ## {Step 8}
426
426
 
427
427
 
428
428
  **There you go!**
@@ -472,7 +472,7 @@ forever(function () {
472
472
 
473
473
  ```
474
474
 
475
- ## Intro @showdialog
475
+ ## {Intro @showdialog}
476
476
 
477
477
  You've learned everything you know to make an exciting collector game. Now put it all together to create something that's all your own!
478
478
 
@@ -481,7 +481,7 @@ You've learned everything you know to make an exciting collector game. Now put
481
481
 
482
482
 
483
483
 
484
- ## Step 1
484
+ ## {Step 1}
485
485
 
486
486
  The code for a collector game is already in the workspace.
487
487
 
@@ -8,14 +8,14 @@ In this short set of activities, students code a game that recreates the conditi
8
8
 
9
9
  Designed for students between the ages of 11 & 18, this experience contains a total of 6 tutorials (approximating 54 minutes of instruction). At the end of the learning path, students receive a certificate of completion.
10
10
 
11
- | | Minutes* | Game Type | Key Concepts |
12
- | --------------- | -------- | --------- | ------------ |
13
- | Prepare Your Plane | 7 | Intro | movement, sprites |
14
- | Burning Issues | 8 | Maze | events, loops, random |
15
- | Fire Fighting | 10 | Maze | events, projectiles |
16
- | Spreads Like Wildfire | 10 | Maze | events, variables, collisions |
17
- | Head's Up! | 9 | Maze | displays, customization |
18
- | Keep Going | 10 | Maze | animations, sounds |
11
+ | | Minutes* | Key Concepts |
12
+ | --------------- | -------- | ------------ |
13
+ | Prepare Your Plane | 7 | movement, sprites |
14
+ | Burning Issues | 8 | events, loops, random |
15
+ | Fire Fighting | 10 | events, projectiles |
16
+ | Spreads Like Wildfire | 10 | events, variables, collisions |
17
+ | Head's Up! | 9 | displays, customization |
18
+ | Keep Going | 10 | animations, sounds |
19
19
 
20
20
  \* Minutes are approximate, based on time to follow instructions as written. Times do not include time spent on designing elements or re-aquainting with previously-written code. Providing extra time for creativity and debugging is encouraged.
21
21
 
@@ -41,51 +41,48 @@ Specifically, they will experience the following topics:
41
41
 
42
42
  As students progress through these projects, they will progressively build a game where their plane shoots water at flames to weaken them until they eventually extinguish.
43
43
 
44
- ```package
45
- pxt-tilemaps=github:microsoft/pxt-tilemaps/
46
- ```
47
44
 
48
45
  #### 1. Prepare Your Plane
49
46
  | Activity | Prepare Your Plane (7 min) |
50
47
  |---|---|
51
48
  | ![Prepare Your Plane thumbnail](/static/skillmap/forest/forest1.gif) | Set up your plane to make sure you can get everywhere you need to be! |
52
- | Blocks used | ``[let mySprite = sprites.create(img`.`, SpriteKind.Player)]``<br/>``[let mySprite: Sprite=null; controller.moveSprite(mySprite)]``<br/>``[tiles.placeOnRandomTile()]``<br/>``[let mySprite: Sprite=null; scene.cameraFollowSprite(mySprite)]`` |
53
- | Solution option | [Prepare Your Plane Project](https://makecode.com/_0CbLhcf6TW1W) |
49
+ | Blocks used | ``[tiles.setTilemap(tilemap`level1`)]``<br/>``[let mySprite = sprites.create(img`.`, SpriteKind.Player)]``<br/>``[let mySprite: Sprite=null; controller.moveSprite(mySprite)]``<br/>``[let mySprite: Sprite=null; scene.cameraFollowSprite(mySprite)]`` |
50
+ | Solution option | [Prepare Your Plane Project](https://makecode.com/_epJ1pWYYeVyY) |
54
51
 
55
52
  #### 2. Burning Issues
56
53
  | Activity | Burning Issues (8 min) |
57
54
  |---|---|
58
55
  | ![Burning Issues thumbnail](/static/skillmap/forest/forest2.gif) | Use loops to add random fires to your map! |
59
- | Blocks used | ``[scene.onOverlapTile()]``<br/>``[tiles.setTileAt(location, assets.tile`transparency16`)]``<br/>``[info.changeScoreBy(1)]``<br/>``[game.over(true)]`` |
60
- | Solution option | [Burning Issues Project](https://makecode.com/_EdjVbU6eMTPW) |
56
+ | Blocks used | ``[for (let index = 0; index < 4; index++) {}]``<br/>``[sprites.create_spreading_fire(img`transparency16`, assets.tile`transparency16`)]``<br/>``[sprites.on_fire_created()]``<br/>``[scene.createParticleEffectAtLocation(location, effects.fire)]`` |
57
+ | Solution option | [Burning Issues Project](https://makecode.com/_Uq6C8RKcg5g4) |
61
58
 
62
59
  #### 3. Fire Fighting
63
60
  | Activity | Fire Fighting (10 min) |
64
61
  |---|---|
65
62
  | ![Fire Fighting! thumbnail](/static/skillmap/forest/forest3.gif) | Add a water hose to your plane so you can keep your fires under control. |
66
- | Blocks used | ``[scene.onOverlapTile()]``<br/>``[tiles.setTileAt(location, assets.tile`transparency16`)]``<br/>``[info.changeScoreBy(-1)]``<br/>``[info.startCountdown(0)]`` |
67
- | Solution option | [Fire Fighting Project](https://makecode.com/_9p32WzfzX1uv) |
63
+ | Blocks used | ``[controller.A.onEvent(ControllerButtonEvent.Repeated, function () {})]``<br/>``[let mySprite: Sprite=null; sprites.spray(mySprite, img`.`)]``<br/>``[sprites.set_flame_strength(location, 5)]``<br/>``[scene.onOverlapTile(SpriteKind.Water, assets.tile`transparency16`, function (sprite, location))]``<br/>``[let sprite: Sprite=null; sprite.destroy()]``<br/>``[sprites.change_flame_strength_by(sprite, -1)]``<br/>``[sprites.on_fire_destroyed(function (location))]``<br/>``[scene.clearParticleEffectsAtLocation(location)]``<br/>``[tiles.setTileAt(location, assets.tile`transparency16`)]`` |
64
+ | Solution option | [Fire Fighting Project](https://makecode.com/_Vme4T0TkA1E3) |
68
65
 
69
66
  #### 4. Spreads Like Wildfire
70
67
  | Activity | Spreads Like Wildfire (10 min) |
71
68
  |---|---|
72
- | ![Spreads Like Wildfire thumbnail](/static/skillmap/forest/forest4.gif) | Conditions in the weather and environment such as drought, winds, vegetation density and dryness can cause fires to spread more quickly.  Lets simulate these conditions in our game. |
73
- | Blocks used | ``[scene.onOverlapTile()]``<br/>``[tiles.setTileAt(location, assets.tile`transparency16`)]``<br/>``[info.changeScoreBy(-1)]``<br/>``[info.startCountdown(0)]`` |
74
- | Solution option | [Spreads Like Wildfire Project](https://makecode.com/_ifR6pigEHKP7) |
69
+ | ![Spreads Like Wildfire thumbnail](/static/skillmap/forest/forest4.gif) | Conditions in the weather and environment such as drought, winds, vegetation density and dryness can cause fires to spread more quickly.  Let's simulate these conditions in our game. |
70
+ | Blocks used | ``[game.set_health_of_trees(7)]``<br/>``[game.set_strength_of_wind(3)]``<br/>``[game.set_dryness_of_grass(3)]``<br/>``[game.onUpdate(function () {})]``<br/>``[sprites.random_spread()]``|
71
+ | Solution option | [Spreads Like Wildfire Project](https://makecode.com/_0MWamcehqV22) |
75
72
 
76
73
  #### 5. Head's Up!
77
74
  | Activity | Head's Up! (9 min) |
78
75
  |---|---|
79
76
  | ![Head's Up!](/static/skillmap/forest/forest5.gif) | Computer science is more important to firefighting than ever before. Let's add a heads-up-display (HUD) to help the pilot get information from their fire database in real-time. |
80
- | Blocks used | ``[scene.onOverlapTile()]``<br/>``[tiles.setTileAt(location, assets.tile`transparency16`)]``<br/>``[info.changeScoreBy(-1)]``<br/>``[info.startCountdown(0)]`` |
81
- | Solution option | [Head's Up Project](https://makecode.com/_77cLwx4b120o) |
77
+ | Blocks used | ``[hud.forest_hud(true)]``<br/>``[hud.danger_hud(true)]``<br/>``[hud.forest_hud(true)]`` |
78
+ | Solution option | [Head's Up Project](https://makecode.com/_b6Y46WUtkCeJ) |
82
79
 
83
- #### 4. Keep Going
80
+ #### 6. Keep Going
84
81
  | Activity | Keep Going (10 min) |
85
82
  |---|---|
86
83
  | ![Keep Going thumbnail](/static/skillmap/forest/forest6.gif) | Add more to your game! Experiment with sounds and animation to make your game truly unique. |
87
- | Blocks used | ``[scene.onOverlapTile()]``<br/>``[tiles.setTileAt(location, assets.tile`transparency16`)]``<br/>``[info.changeScoreBy(-1)]``<br/>``[info.startCountdown(0)]`` |
88
- | Solution option | [Keep Going Project](https://makecode.com/_0kzFyAgPMa4A) |
84
+ | Blocks used | ``[controller.left.onEvent(ControllerButtonEvent.Pressed, function () {})]``<br/>``[animation.runImageAnimation()]``<br/>``[music.thump.play()]`` |
85
+ | Solution option | [Keep Going Project](https://makecode.com/_Y9PK4P2iF6D0) |
89
86
 
90
87
  ##### Game Mod Ideas
91
88
 
@@ -103,3 +100,15 @@ When students are finished with **Save the Forest!** consider graduating them to
103
100
  - [Try the Jungle Monkey Skillmap](/skillmap/jungle)
104
101
  - [Try the Space Explorer Map](/skillmap/space)
105
102
  - [Try our Time Flies Tutorial](/tutorials/froggy)
103
+
104
+
105
+ ##### More Teacher Resources
106
+
107
+ Would you like a complete lesson plan for this activity? Visit our Sharepoint folder to see more:
108
+
109
+ - [Teacher lesson Resources](https://1drv.ms/u/s!AqsgsTyHBmRBkjR0izvm6EQ2NqLp?e=YRsyz6)
110
+
111
+
112
+ ```package
113
+ pxt-arcade-forest-fire=github:microsoft/arcade-forest-fire
114
+ ```
@@ -0,0 +1,55 @@
1
+ # About Pongo
2
+
3
+ **A page for Educators & Parents**
4
+
5
+ The **Pongo** map uses basic code blocks in MakeCode Arcade to implement simple game concepts.
6
+
7
+ In this short set of activities, students create a paddle that they can move to hit a ball in an attempt to collect points. This map is intended for students who are new to MakeCode with little or no previous coding experience.
8
+
9
+ Designed for students between the ages of 11 & 16, this experience contains a total of 3 tutorials (approximating 22 minutes of instruction). At the end of the learning path, students receive a certificate of completion.
10
+
11
+ | | Minutes* | Key Concepts |
12
+ | --------------- | -------- | ------------ |
13
+ | Paddle / Ball | 7 | movement, sprites |
14
+ | Hit the Wall | 8 | events, game score |
15
+ | Multiplayer | 7 | events, multiplayer |
16
+
17
+ \* Minutes are approximate, based on time to follow instructions as written. Times do not include time spent on designing elements or re-aquainting with previously-written code. Providing extra time for creativity and debugging is encouraged.
18
+
19
+ ### Objectives
20
+
21
+ After completing ...
22
+
23
+ Specifically, they will experience the following topics:
24
+
25
+ - Events
26
+ - Movement
27
+ - Collisions
28
+ - Game Score
29
+
30
+
31
+ ### Projects
32
+
33
+ As students progress through these projects, they will progressively build a game where ...
34
+
35
+
36
+ #### 1. Paddle / Ball
37
+ | Activity | Paddle / Ball (7 min) |
38
+ |---|---|
39
+ | ![Paddle / Ball thumbnail](/static/skillmap/rockstar/rockstar1.gif) | Description... |
40
+ | Blocks used | ``[let mySprite = sprites.create(img`.`, SpriteKind.Player)]``<br/>``[let mySprite: Sprite=null; controller.moveSprite(mySprite)]``<br/>``[tiles.placeOnRandomTile()]``<br/>``[let mySprite: Sprite=null; scene.cameraFollowSprite(mySprite)]`` |
41
+ | Solution option | [Paddle / Ball Project](https://makecode.com/_FM1DbPhEia87) |
42
+
43
+ #### 2. Hit the Wall
44
+ | Activity | Hit the Wall (8 min) |
45
+ |---|---|
46
+ | ![Hit the Wall thumbnail](/static/skillmap/rockstar/rockstar2.gif) | Description... |
47
+ | Blocks used | ``[scene.onOverlapTile()]``<br/>``[tiles.setTileAt(location, assets.tile`transparency16`)]``<br/>``[info.changeScoreBy(1)]``<br/>``[game.over(true)]`` |
48
+ | Solution option | [Hit the Wall Project](https://makecode.com/_aE3eYm23wad3) |
49
+
50
+ #### 3. Multiplayer
51
+ | Activity | Multiplayer (7 min) |
52
+ |---|---|
53
+ | ![Multiplayer thumbnail](/static/skillmap/rockstar/rockstar3.gif) | Description... |
54
+ | Blocks used | ``[scene.onOverlapTile()]``<br/>``[tiles.setTileAt(location, assets.tile`transparency16`)]``<br/>``[info.changeScoreBy(-1)]``<br/>``[info.startCountdown(0)]`` |
55
+ | Solution option | [Multiplayer Project](https://makecode.com/_dW115JWAR2d0) |
@@ -0,0 +1,105 @@
1
+ # About Monster Racer
2
+
3
+ **A page for Educators & Parents**
4
+
5
+ The **Monster Racer** map uses basic code blocks and extensions in MakeCode Arcade to implement simple game concepts.
6
+
7
+ In this short set of activities, ... This map is intended for students who are new to MakeCode with little or no previous coding experience.
8
+
9
+ Designed for students between the ages of 11 & 18, this experience contains a total of 6 tutorials (approximating 54 minutes of instruction). At the end of the learning path, students receive a certificate of completion.
10
+
11
+ | | Minutes* | Key Concepts |
12
+ | --------------- | -------- | ------------ |
13
+ | Prepare Your Plane | 7 | movement, sprites |
14
+ | Burning Issues | 8 | events, loops, random |
15
+ | Fire Fighting | 10 | events, projectiles |
16
+ | Spreads Like Wildfire | 10 | events, variables, collisions |
17
+ | Head's Up! | 9 | displays, customization |
18
+ | Keep Going | 10 | animations, sounds |
19
+
20
+ \* Minutes are approximate, based on time to follow instructions as written. Times do not include time spent on designing elements or re-aquainting with previously-written code. Providing extra time for creativity and debugging is encouraged.
21
+
22
+ ### Objectives
23
+
24
+ After completing Monster Racer...
25
+
26
+ Specifically, they will experience the following topics:
27
+
28
+ - Loops
29
+ - Events
30
+ - Variables
31
+ - Tilemaps
32
+ - Movement
33
+ - Collisions
34
+ - Projectiles
35
+ - Animation
36
+ - Sounds
37
+ - Strength/Life Mechanics
38
+
39
+
40
+ ### Projects
41
+
42
+ As students progress through these projects, they will progressively build a game where ...
43
+
44
+ ```package
45
+ pxt-forest-special=github:kiki-lee/forest-special/
46
+ ```
47
+
48
+ #### 1. Prepare Your Plane
49
+ | Activity | Prepare Your Plane (7 min) |
50
+ |---|---|
51
+ | ![Prepare Your Plane thumbnail](/static/skillmap/forest/forest1.gif) | Set up your plane to make sure you can get everywhere you need to be! |
52
+ | Blocks used | ``[let mySprite = sprites.create(img`.`, SpriteKind.Player)]``<br/>``[let mySprite: Sprite=null; controller.moveSprite(mySprite)]``<br/>``[let mySprite: Sprite=null; scene.cameraFollowSprite(mySprite)]`` |
53
+ | Solution option | [Prepare Your Plane Project](https://makecode.com/_0CbLhcf6TW1W) |
54
+
55
+ #### 2. Burning Issues
56
+ | Activity | Burning Issues (8 min) |
57
+ |---|---|
58
+ | ![Burning Issues thumbnail](/static/skillmap/forest/forest2.gif) | Use loops to add random fires to your map! |
59
+ | Blocks used | ``[for (let index = 0; index < 4; index++) {}]``<br/>``[newFire = sprites.create(img`.`, SpriteKind.Player)]``<br/>``[tiles.placeOnRandomTile(newFire, assets.tile`transparency16`)]``<br/>``[sprites.onCreated()]``<br/>``[let sprite: Sprite=null; sprite.startEffect(effects.fire)]`` |
60
+ | Solution option | [Burning Issues Project](https://makecode.com/_EdjVbU6eMTPW) |
61
+
62
+ #### 3. Fire Fighting
63
+ | Activity | Fire Fighting (10 min) |
64
+ |---|---|
65
+ | ![Fire Fighting! thumbnail](/static/skillmap/forest/forest3.gif) | Add a water hose to your plane so you can keep your fires under control. |
66
+ | Blocks used | ``[controller.A.onEvent(ControllerButtonEvent.Repeated, function () {})]``<br/>``[let mySprite: Sprite=null; sprites.spray(mySprite, img`.`)]``<br/>``[sprites.set_flame_strength(sprite, 10)]``<br/>``[sprites.onOverlap()]``<br/>``[let sprite: Sprite=null; sprite.destroy()]``<br/>``[sprites.change_flame_strength_by(sprite, -1)]`` |
67
+ | Solution option | [Fire Fighting Project](https://makecode.com/_9p32WzfzX1uv) |
68
+
69
+ #### 4. Spreads Like Wildfire
70
+ | Activity | Spreads Like Wildfire (10 min) |
71
+ |---|---|
72
+ | ![Spreads Like Wildfire thumbnail](/static/skillmap/forest/forest4.gif) | Conditions in the weather and environment such as drought, winds, vegetation density and dryness can cause fires to spread more quickly.  Let's simulate these conditions in our game. |
73
+ | Blocks used | ``[game.set_health_of_trees(7)]``<br/>``[game.set_strength_of_wind(3)]``<br/>``[game.set_dryness_of_grass(3)]``<br/>``[game.onUpdate(function () {})]``<br/>``[sprites.random_spread(img`.`]``<br/>``[sprites.onDestroyed(SpriteKind.Player, function (sprite) {})]``<br/>``[tiles.setTileAt(tiles.locationOfSprite(sprite), assets.tile`transparency16`)]``<br/>``[scene.onOverlapTile()]``<br/>``[sprites.onOverlap()]``<br/>``[let otherSprite: Sprite=null; otherSprite.destroy()]``<br/> |
74
+ | Solution option | [Spreads Like Wildfire Project](https://makecode.com/_ifR6pigEHKP7) |
75
+
76
+ #### 5. Head's Up!
77
+ | Activity | Head's Up! (9 min) |
78
+ |---|---|
79
+ | ![Head's Up!](/static/skillmap/forest/forest5.gif) | Computer science is more important to firefighting than ever before. Let's add a heads-up-display (HUD) to help the pilot get information from their fire database in real-time. |
80
+ | Blocks used | ``[hud.forest_hud(true)]``<br/>``[hud.danger_hud(true)]``<br/>``[hud.forest_hud(true)]`` |
81
+ | Solution option | [Head's Up Project](https://makecode.com/_77cLwx4b120o) |
82
+
83
+ #### 4. Keep Going
84
+ | Activity | Keep Going (10 min) |
85
+ |---|---|
86
+ | ![Keep Going thumbnail](/static/skillmap/forest/forest6.gif) | Add more to your game! Experiment with sounds and animation to make your game truly unique. |
87
+ | Blocks used | ``[controller.left.onEvent(ControllerButtonEvent.Pressed, function () {})]``<br/>``[animation.runImageAnimation()]``<br/>``[music.thump.play()]`` |
88
+ | Solution option | [Keep Going Project](https://makecode.com/_0kzFyAgPMa4A) |
89
+
90
+ ##### Game Mod Ideas
91
+
92
+ As students work on **Keep Going**, we encourage them to plan out ways they can dive even deeper using the full editor after opening their game using the [SAVE TO MY PROJECTS] button.
93
+
94
+ - What other environment could my plane explore? Neighborhoods? The desert?
95
+ - What could pop-up randomly instead of fires? Fish? Mice? Snowmen?
96
+ - What could you move around instead of an airplane? A boat? A magnifying glass?
97
+
98
+ ##### What's Next?
99
+
100
+ When students are finished with **Save the Forest!** consider graduating them to another map to work on skills further.
101
+
102
+ - [Try the Beginner Skillmap](/skillmap/beginner)
103
+ - [Try the Jungle Monkey Skillmap](/skillmap/jungle)
104
+ - [Try the Space Explorer Map](/skillmap/space)
105
+ - [Try our Time Flies Tutorial](/tutorials/froggy)
@@ -4,7 +4,7 @@
4
4
 
5
5
  The **80's Rockstar Maze!** map uses basic code blocks in MakeCode Arcade to implement simple game concepts.
6
6
 
7
- In this short set of activities, students set a rockstart sprite in a backstage maze where it must collect instruments and avoid fans after a show. This map is intended for students who are new to MakeCode with little or no previous coding experience.
7
+ In this short set of activities, students set a rockstar sprite in a backstage maze where it must collect instruments and avoid fans after a show. This map is intended for students who are new to MakeCode with little or no previous coding experience.
8
8
 
9
9
  Designed for students between the ages of 11 & 14, this experience contains a total of 3 tutorials (approximating 22 minutes of instruction). At the end of the learning path, students receive a certificate of completion.
10
10
 
@@ -0,0 +1,101 @@
1
+ # About Shark Splash
2
+
3
+ **A page for Educators & Parents**
4
+
5
+ **Shark Splash** introduces a number of MakeCode Arcade game design elements.
6
+
7
+ In this set of activities, students will create a MakeCode Arcade game that involves protecting their shark from submarines while it hunts for food. This activity is intended for students who are new to MakeCode with little to moderate previous coding experience. Through step-by-step instructions, students will focus on game creation across 3 primary topics: destroying enemies, collecting food, and custom modification.
8
+
9
+ Designed for students between the ages of 10 & 16, this experience contains a total of 5 tutorials (approximating at least 32 minutes of instruction). At the end of the learning path, students receive a certificate of completion.
10
+
11
+ | | Minutes* | Game Type | Key Concepts |
12
+ | --------------- | -------- | --------- | ------------ |
13
+ | **Day 1** | | | |
14
+ | Set the Scene | 7 | Intro | movement, events, projectiles |
15
+ | Food not Friends | 7 | Collector | events, positioning, random numbers, movement |
16
+ | Eat Up! | 8 | Collector | events, destroying, game score |
17
+ | Under the Sea | 8 | Collector | loops, design, positioning, random numbers |
18
+ | Let's Get Animated! | 10+ | Design | art design, effects |
19
+
20
+
21
+ \* Minutes are approximate, based on time to follow instructions as written. Times do not include time spent on designing elements or re-aquainting with previously-written code. Providing extra time for creativity and debugging is encouraged.
22
+
23
+ ### Objectives
24
+
25
+ After completing Shark Splash, students will have gained exposure to multiple classic arcade game concepts using MakeCode Arcade.
26
+
27
+ Specifically, they will experience the following topics:
28
+
29
+ #### Computer Science Concepts
30
+
31
+ - Events
32
+ - Loops
33
+ - Variables
34
+
35
+ #### Game Design Concepts
36
+
37
+ - Movement
38
+ - Positioning
39
+ - Randomization
40
+ - Effects
41
+ - Game Score
42
+ - Velocity
43
+ - Art Design
44
+
45
+
46
+
47
+ #### 1. Set the Scene
48
+
49
+ | Activity | Set The Scene (7 min) |
50
+ |---|---|
51
+ | ![Set the Scene thumbnail](/static/skillmap/shark/shark1.gif) | Set up your laser-firing ocean shark. |
52
+ | Blocks used | ``[scene.setBackgroundColor(0)]``<br/>``[let mySprite = sprites.create(img`.`, SpriteKind.Player)]``<br/>``[controller.moveSprite(mySprite)]``<br/>``[let mySprite: Sprite = null; mySprite.setStayInScreen(true)]``<br>``[controller.A.onEvent(ControllerButtonEvent.Pressed, function () {})]``<br/>``[projectile = sprites.createProjectileFromSprite(img`.`, mySprite)]``|
53
+ | Solution option | [Set the Scene Project](https://makecode.com/_ghyiPCDsJLAC) |
54
+
55
+
56
+
57
+
58
+ #### 2. Food not Friends
59
+
60
+ | Activity | Food not Friends (7 min) |
61
+ |---|---|
62
+ | ![Food not Friends thumbnail](/static/skillmap/shark/shark2.gif) | Back to an enemy-free ocean, this tutorial will go over spawing some food for your shark. |
63
+ | Blocks used | ``[game.onUpdateInterval()]``<br/>``[myFood = sprites.create(img`.`, SpriteKind.Food)]``<br/>``[let myFood: Sprite = null; let mySprite: Sprite = null; myFood.setPosition(0 + mySprite.x, randint())]``<br/>``[let myFood: Sprite = null; myFood.vx = 0]``|
64
+ | Solution option | [Food not Friends Project](https://makecode.com/_dLJHiifhR2ev) |
65
+
66
+ #### 3. Eat Up!
67
+
68
+ | Activity | Eat Up! (8 min) |
69
+ |---|---|
70
+ | ![Eat Up! thumbnail](/static/skillmap/shark/shark3.gif) | This game builds off the last level. Animate and gamify your shark's consumption of fish. |
71
+ | Blocks used | ``[sprites.onOverlap(SpriteKind.Player, SpriteKind.Food, function (sprite, otherSprite) {})]``<br/>``[let otherSprite: Sprite = null; otherSprite.destroy(effects.disintegrate,)]``<br/>``[info.changeScoreBy()]``<br/>``[info.startCountdown()]``<br/>``[info.onCountdownEnd(function () {})]``<br/>``[game.over(true)]``|
72
+ | Solution option | [Eat Up! Project](https://makecode.com/_WM31H3Uur331) |
73
+
74
+ #### 4. Under the Sea
75
+
76
+ | Activity | Under the Sea (8 min) |
77
+ |---|---|
78
+ | ![Under the Sea thumbnail](/static/skillmap/shark/shark4.gif) | Building off the previous level, this level mixes design with automated generation to create a unique sea environment for your shark. |
79
+ | Blocks used | ``[scene.setBackgroundImage(img`.`)]``<br/>``[for (let index = 0; index < 10; index++) {}]``<br/>``[myDecor = sprites.create(img`.`,)]``<br/>``[let myDecor: Sprite = null; myDecor.setPosition(randint())]`` |
80
+ | Solution option | [Under the Sea Project](https://makecode.com/_2D9JL6Rm36yC) |
81
+
82
+
83
+ #### 5. Let's Get Animated!
84
+
85
+ | Activity | Let's Get Animated! (15+) |
86
+ |---|---|
87
+ | ![Let's Get Animated! thumbnail](/static/skillmap/shark/shark4a.gif) | Animate your sprites for a more life-like game! |
88
+ | Blocks used | _None_ |
89
+ | Solution option | N/A |
90
+
91
+
92
+
93
+ ##### Game Mod Ideas
94
+
95
+ After students work on "Let's Get Animated!", we encourage them to plan out how they want to modify this game to best suit their interests. Consider the following questions:
96
+
97
+ - What is an activity that I really like? How does that tell me who my hero should be?
98
+ - When I do this activity, what supplies do I need? Replace the fishy food with these supplies!
99
+ - What environment do I usually do this activity in? Replace the background with something similar!
100
+
101
+ Don't forget to save this activity to projects and keep building!
@@ -84,7 +84,7 @@ to **the end** of the
84
84
  ``||loops:on start||``
85
85
  container.
86
86
 
87
- _💡 Remember, the bubble on the left shows the icon of the toolbox category for the block you need._
87
+ _💡 Remember, the icon to the left of the instructions shows the same icon as the toolbox category for the block you need._
88
88
 
89
89
  - :paint brush: To choose your plane, click the empty grey box, then toggle to **My Assets** and choose your aircraft.
90
90
 
@@ -173,74 +173,6 @@ head to the next activity where you'll add the 🔥🔥🔥.
173
173
 
174
174
 
175
175
 
176
-
177
- ```package
178
- pxt-tilemaps=github:microsoft/pxt-tilemaps/
179
- pxt-text=github:microsoft/arcade-text
180
- arcade-premium-life=github:jwunderl/arcade-premium-life/
181
- pxt-characterAnimations=github:microsoft/arcade-character-animations/
182
- pxt-data=github:microsoft/arcade-sprite-data/
183
- pxt-story=github:microsoft/arcade-storytelling/
184
- arcade-sprite-util=github:jwunderl/arcade-sprite-util/
185
- pxt-status-bar=github:jwunderl/pxt-status-bar
186
- ```
187
-
188
-
189
- ```customts
190
-
191
- let statusbar = statusbars.create(82, 4, StatusBarKind.Health)
192
- statusbar.top = 12
193
- statusbar.left = 4
194
- statusbar.max = tiles.tilemapRows() * tiles.tilemapColumns()
195
- let statusLabel = textsprite.create("Healthy Forest", 0, 1)
196
- statusLabel.setFlag(SpriteFlag.RelativeToCamera, true)
197
- statusLabel.top = 2
198
- statusLabel.left = 4
199
- statusbar.setColor(7, 14)
200
- let fireLabel = textsprite.create("Fires:")
201
- fireLabel.right = 145
202
- fireLabel.top = 2
203
- fireLabel.setMaxFontHeight(4)
204
- fireLabel.setFlag(SpriteFlag.RelativeToCamera, true)
205
- statusLabel.setFlag(SpriteFlag.Invisible, true)
206
- statusbar.setFlag(SpriteFlag.Invisible, true)
207
- fireLabel.setFlag(SpriteFlag.Invisible, true)
208
- info.showScore(false)
209
-
210
-
211
-
212
- namespace animation {
213
- /*
214
- * Loops the passed frames on the sprite at the given interval whenever
215
- * the specified rule is true for that sprite.
216
- *
217
- * If more than one rule applies, the most specific rule will be used.
218
- * If multiple rules are equally specific, the currently executing rule
219
- * is favored (or one is chosen at random).
220
- *
221
- * @param sprite the sprite to animate
222
- * @param frames the images that make up that animation
223
- * @param frame Interval the amount of time to spend on each frame in milliseconds
224
- * @param rule the rule that decides when this animation will play
225
- */
226
- //% blockId=arcade_character_loop_frames2
227
- //% block="animate $sprite loop frames $frames interval (ms) $frameInterval when $rule"
228
- //% sprite.defl=mySprite
229
- //% frames.defl=Fire Plane Right
230
- //% sprite.shadow=variables_get
231
- //% frames.shadow=animation_editor
232
- //% frameInterval.shadow=timePicker
233
- //% rule.shadow=arcade_character_make_rule
234
- //% weight=100
235
- //% blockGap=8
236
- //% help=github:arcade-character-animations/docs/loop-character-animation
237
- export function loopFrames2(sprite: Sprite, frames: Image[], frameInterval: number, rule: number) {
238
- characterAnimations.loopFrames(sprite, frames, frameInterval, rule);
239
- }
240
- }
241
- ```
242
-
243
-
244
176
  ```assetjson
245
177
  {
246
178
  "README.md": " ",