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
@@ -490,7 +490,7 @@ controller.right.onEvent(ControllerButtonEvent.Pressed, function () {
490
490
 
491
491
  ```
492
492
 
493
- ## Introduction @showdialog
493
+ ## {Introduction @showdialog}
494
494
 
495
495
  Short stories are fun to read and fun to write!
496
496
 
@@ -500,7 +500,7 @@ share anywhere we like.
500
500
  ![Here's the story](/static/skillmap/story/story-activity-4.gif "How mystical!" )
501
501
 
502
502
 
503
- ## Step 2
503
+ ## {Step 2}
504
504
 
505
505
  The base code for a two-line story is already in the workspace.
506
506
  Let's build on it to create a new short story worth sharing.
@@ -516,16 +516,16 @@ Example 3: An alien in the grocery store
516
516
  ```
517
517
 
518
518
 
519
- ## Step 3
519
+ ## {Step 3}
520
520
 
521
521
  **Now add your setting and main character to the story.**
522
522
 
523
523
  ---
524
524
 
525
- Click on the image box in the ``||scene:set background image to []||``
525
+ - :mouse pointer: Click on the image box in the ``||scene:set background image to []||``
526
526
  block and draw your scene.
527
527
 
528
- Click on the image box in the
528
+ - :mouse pointer: Click on the image box in the
529
529
  ``||variables:set [mySprite] to sprite [ ] of kind [Player]||``
530
530
  block and design your main character.
531
531
 
@@ -781,7 +781,7 @@ mySprite = sprites.create(img`
781
781
  ```
782
782
 
783
783
 
784
- ## Step 4
784
+ ## {Step 4}
785
785
 
786
786
  **📚 Explain your set-up 📚**
787
787
 
@@ -790,11 +790,11 @@ what are they avoiding?
790
790
 
791
791
  ---
792
792
 
793
- Look for the first ``||game: show long text [" "] [bottom]||`` block inside
793
+ - :mouse pointer: Look for the first ``||game: show long text [" "] [bottom]||`` block inside
794
794
  the **on A button pressed** container
795
795
  and click in the text area.
796
796
 
797
- Use this space to add your first sentence or two.
797
+ - :mouse pointer: Use this space to add your first sentence or two.
798
798
 
799
799
  ```block
800
800
  let mySprite2: Sprite = null
@@ -836,7 +836,7 @@ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
836
836
  ```
837
837
 
838
838
 
839
- ## Step 5
839
+ ## {Step 5}
840
840
 
841
841
  **🎭 Create some drama 🎭**
842
842
 
@@ -844,10 +844,10 @@ What happens now? Something should throw your characters off course or surprise
844
844
 
845
845
  ---
846
846
 
847
- Look for the second ``||game: show long text [" "] [bottom]||`` block
847
+ - :mouse pointer: Look for the second ``||game: show long text [" "] [bottom]||`` block
848
848
  and click in the text area.
849
849
 
850
- Use this space to add your drama.
850
+ - :mouse pointer: Use this space to add your drama.
851
851
 
852
852
  ```block
853
853
  let mySprite2: Sprite = null
@@ -889,7 +889,7 @@ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
889
889
 
890
890
 
891
891
 
892
- ## Step 6
892
+ ## {Step 6}
893
893
 
894
894
  **📕 Show the story 📕**
895
895
 
@@ -898,11 +898,11 @@ Let's update the scene and the characters.
898
898
 
899
899
  ---
900
900
 
901
- Add some code into the ``||controller:on [A] button [pressed]||`` container after the second **show long text** block.
901
+ - :mouse pointer: Add some code into the ``||controller:on [A] button [pressed]||`` container after the second **show long text** block.
902
902
 
903
- Consider updating **mySprite** with a ``||sprites: set [mySprite] image to [ ]||`` block, adding a second sprite (**mySprite2**), or swapping out the background.
903
+ - :mouse pointer: Consider updating **mySprite** with a ``||sprites: set [mySprite] image to [ ]||`` block, adding a second sprite (**mySprite2**), or swapping out the background.
904
904
 
905
- You may also want to change character positions using a couple of
905
+ - :mouse pointer: You may also want to change character positions using a couple of
906
906
  ``||sprites:set [mySprite] position to x [0] y [0]||`` blocks.
907
907
 
908
908
 
@@ -963,7 +963,7 @@ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
963
963
 
964
964
  ```
965
965
 
966
- ## Step 7
966
+ ## {Step 7}
967
967
 
968
968
  **😲 The reaction 😲**
969
969
 
@@ -972,7 +972,7 @@ How does the main character react?
972
972
 
973
973
  ---
974
974
 
975
- Add another ``||game:show long text [" "] [bottom]||`` block to the bottom
975
+ - :mouse pointer: Add another ``||game:show long text [" "] [bottom]||`` block to the bottom
976
976
  of the **on A button pressed** container and add another line
977
977
  describing the next thing that happens.
978
978
 
@@ -1036,7 +1036,7 @@ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
1036
1036
  ```
1037
1037
 
1038
1038
 
1039
- ## Step 8
1039
+ ## {Step 8}
1040
1040
 
1041
1041
  **🌳 Change of scene 🌳**
1042
1042
 
@@ -1045,7 +1045,7 @@ on someone's face by drawing a new image? Did the characters move to a new loca
1045
1045
 
1046
1046
  ---
1047
1047
 
1048
- Change the background, your sprites, and their positions again to
1048
+ - :mouse pointer: Change the background, your sprites, and their positions again to
1049
1049
  illustrate the changes happening in the story.
1050
1050
 
1051
1051
 
@@ -1263,7 +1263,7 @@ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
1263
1263
  })
1264
1264
  ```
1265
1265
 
1266
- ## Step 9
1266
+ ## {Step 9}
1267
1267
 
1268
1268
  **🎬 The conclusion 🎬**
1269
1269
 
@@ -1272,9 +1272,9 @@ one last time if it helps illustrate your ending.
1272
1272
 
1273
1273
  ---
1274
1274
 
1275
- Add another **show long text** block to finish out your story.
1275
+ - :mouse pointer: Add another **show long text** block to finish out your story.
1276
1276
 
1277
- Consider changing the background, **mySprite** (or any other sprite
1277
+ - :mouse pointer: Consider changing the background, **mySprite** (or any other sprite
1278
1278
  you added to the story), and their positions to make the ending as satisfying
1279
1279
  as possible.
1280
1280
 
@@ -1758,7 +1758,7 @@ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
1758
1758
 
1759
1759
  ```
1760
1760
 
1761
- ## finish
1761
+ ## {finish}
1762
1762
 
1763
1763
  **And that's it!**
1764
1764
 
@@ -11,19 +11,21 @@ No worries,
11
11
  we'll show you the zookeeper ropes. First things first,
12
12
  click that green **OK** button to see the **Keeper's Hut**.
13
13
 
14
- ## Step 1
15
14
 
16
- **🏠 Home sweet home 🏠**.
15
+ ## 2. Make a Sprite
16
+
17
+ **🏠 Home sweet home 🏠**
17
18
  Let's get you set up in your new place!
18
19
 
19
20
  ---
20
21
 
21
- From the ``||sprites:Sprites||`` category, drag the ``||variables:set [mySprite] to sprite [ ] of kind [Player]||``
22
+ - :paper plane: From the ``||sprites:Sprites||`` category, drag the
23
+ ``||variables:set [mySprite] to sprite [ ] of kind [Player]||``
22
24
  block into the ``||loops:on start||`` container.
23
25
 
24
- Click the grey box to open the **image editor** and draw yourself in your best zookeeper outfit!
26
+ - :paint brush: Click the grey box to open the **image editor** and draw yourself in your best zookeeper outfit!
25
27
 
26
- Click **> Next** when you're ready to see the next step.
28
+ - :mouse pointer: Click **Next** when you're ready to see the next step.
27
29
 
28
30
  ```blocks
29
31
  let mySprite = sprites.create(img`
@@ -46,21 +48,19 @@ let mySprite = sprites.create(img`
46
48
  `, SpriteKind.Player)
47
49
  ```
48
50
 
49
- ## Step 2
51
+ ## 3. Move Around
50
52
 
51
- **🕰 Time to get moving 🕰**
53
+ **🕰 Time to get move 🕰**
52
54
 
53
55
  ---
54
56
 
55
- From the ``||controller:Controller||`` category, drag
56
- ``||controller:move [mySprite] with buttons ⊕||``
57
+ - :game: From the ``||controller:Controller||`` category, drag
58
+ ``||controller:move [mySprite] with buttons ⊕||``
57
59
  into the bottom of the ``||loops:on start||`` container.
58
60
 
59
61
  ---
60
62
 
61
63
  This will allow you to move your sprite around the screen.
62
- Try it on the game screen using the arrow keys on your keyboard
63
- or by clicking the joystick.
64
64
 
65
65
 
66
66
  ```blocks
@@ -86,14 +86,27 @@ let mySprite = sprites.create(img`
86
86
  controller.moveSprite(mySprite)
87
87
  ```
88
88
 
89
- ## Step 3
89
+ ## 4. Try It
90
+
91
+ **Click the Game Window Tab (Above)**
92
+ ![Click the Game Window tab to see your scene. ](/static/skillmap/assets/game-win-tab.png "Don't forget to look at your game!")
93
+
94
+ ---
95
+
96
+ Try moving around the game screen! Your zookeeper will move with the joypad or the arrow keys on your keyboard.
90
97
 
91
- **👀 Take a look around the room 👀**
98
+
99
+
100
+ ## 5. Look About
101
+
102
+ **Take a look around the room**
103
+ 👀
92
104
 
93
105
  ---
94
106
 
95
- From the ``||scene:Scene||`` category, drag ``||scene:camera follow sprite [mySprite]||`` into the bottom
96
- of the ``||loops:on start||`` container and use the arrow keys to
107
+ - :tree: From the ``||scene:Scene||`` category, drag
108
+ ``||scene:camera follow sprite [mySprite]||``
109
+ into the bottom of the ``||loops:on start||`` container and use the arrow keys to
97
110
  check out the hut!
98
111
 
99
112
  ```blocks
@@ -120,10 +133,12 @@ controller.moveSprite(mySprite)
120
133
  scene.cameraFollowSprite(mySprite)
121
134
  ```
122
135
 
123
- ## Step 4
136
+ ## Finale
124
137
 
125
138
  **🐯 Fantastic! 🐯**
126
139
 
140
+ ---
141
+
127
142
  You're all ready for your first task.
128
143
 
129
144
  Click on the **Done** button to head out to the **Zoo**!
@@ -1,23 +1,26 @@
1
1
  # First Exhibit: By Land
2
2
 
3
3
 
4
- ## Step 1
4
+ ## 1. Make an Animal
5
5
 
6
- **Your very first exhibit! Exciting, huh?**
6
+ **Your very first exhibit!**
7
+ Exciting, huh?
7
8
 
8
9
  Hm... it does look a little empty.
9
10
  Well, what's your favorite animal? Let's invite them over!
10
11
 
11
12
  ---
12
13
 
13
- From the ``||sprites:Sprites||`` category, drag ``||variables:set [mySprite] to sprite [ ] of kind [Player]||``
14
+ - :paper plane: From the ``||sprites:Sprites||`` category, drag
15
+ ``||variables:set [mySprite] to sprite [ ] of kind [Player]||``
14
16
  into ``||loops:on start||``.
15
17
 
16
- Click the grey box in the new block and draw your animal using the **image editor**!
18
+ - :paint brush: Click the grey box in the new block and draw your animal using the **image editor**!
17
19
 
18
- Click **> Next** when you're ready for the next step.
20
+ - :mouse pointer: Click **> Next** when you're ready for the next step.
19
21
 
20
22
  ```blocks
23
+ //@highlight
21
24
  let mySprite = sprites.create(img`
22
25
  . . . . . . 5 5 5 . . . . . . .
23
26
  . . . . 5 5 5 5 5 5 5 . . . . .
@@ -38,19 +41,20 @@ let mySprite = sprites.create(img`
38
41
  `, SpriteKind.Player)
39
42
  ```
40
43
 
41
- ## Step 2
42
-
43
- **🦓 Take your animal for a walk! 🐆**
44
+ ## 2. Move Around
44
45
 
46
+ **Take your animal for a walk!**
47
+ 🐆 🦓
45
48
  ---
46
49
 
47
- From ``||sprites:Sprites||``, grab
48
- ``||sprites:set [mySprite] velocity to vx [50] vy [50]||``
49
- and drag it into the **end** of the ``||loops:on start||`` container. Your animal friend
50
- should start moving!
50
+ - :paper plane: From ``||sprites:Sprites||``, grab
51
+ ``||sprites:set [mySprite] velocity to vx [50] vy [50]||``
52
+ and drag it into the **end** of the ``||loops:on start||`` container.
51
53
 
52
- Try changing the numbers next to **vx** and **vy**
53
- and watch the game screen to see what happens.
54
+ Your animal friend should start moving!
55
+
56
+ - :mouse pointer: Try changing the numbers next to **vx** and **vy**
57
+ and watch the game screen to see what happens!
54
58
 
55
59
  ```blocks
56
60
  let mySprite = sprites.create(img`
@@ -75,22 +79,22 @@ let mySprite = sprites.create(img`
75
79
  mySprite.setVelocity(50, 50)
76
80
  ```
77
81
 
78
- ## Step 3
82
+ ## 3. Random Mosey
79
83
 
80
84
  The same old path gets boring after a while.
81
85
  **Let's add some randomness!**
82
86
 
83
87
  ---
84
88
 
85
- Go to the ``||math:Math||`` category and grab two
86
- ``||math:pick random [0] to [10]||`` value blocks.
87
- Use them to replace the numbers next to the **vx** and **vy**.
89
+ - :calculator: Go to the ``||math:Math||`` category and grab two
90
+ ``||math:pick random [0] to [10]||``
91
+ value blocks.
88
92
 
89
- Change the numbers inside the **random** blocks to see different kinds of
90
- movement each time you reload!
93
+ - :mouse pointer: Use the two **random** value blocks to replace the numbers next to the **vx** and **vy**.
91
94
 
92
- ---
93
- **Hint:** Don't forget to try negative numbers!
95
+ - :mouse pointer: Change the numbers inside the **random** blocks to see different kinds of movement each time you reload!
96
+
97
+ _💡 Don't forget to try negative numbers!_
94
98
 
95
99
 
96
100
  ```blocks
@@ -116,18 +120,18 @@ let mySprite = sprites.create(img`
116
120
  mySprite.setVelocity(randint(-50, 50), randint(-50, 50))
117
121
  ```
118
122
 
119
- ## Step 4
123
+ ## 4. Bounce
120
124
 
121
- **When the animal hits the edge of the enclosure they stop moving!**
125
+ **When the animal hits the edge of the enclosure it stops moving!**
122
126
 
123
127
  Let's fix that.
124
128
 
125
129
  ---
126
130
 
127
- Open the ``||sprites:Sprites||`` category, then grab ``||sprites:set [mySprite] bounce on wall <ON>||``
131
+ - :paper plane: Open the ``||sprites:Sprites||`` category, then grab
132
+ ``||sprites:set [mySprite] bounce on wall <ON>||``
128
133
  to snap in at the **end** of the program.
129
134
 
130
- ---
131
135
 
132
136
  Now your animal can explore the entire exhibit!
133
137
 
@@ -156,7 +160,18 @@ mySprite.setVelocity(randint(-50, 50), randint(-50, 50))
156
160
  mySprite.setBounceOnWall(true)
157
161
  ```
158
162
 
159
- ## Step 5 @showdialog
163
+ ## 5. Try It
164
+
165
+ **Click the Game Window Tab (Above)**
166
+ ![Click the Game Window tab to see your scene. ](/static/skillmap/assets/game-win-tab.png "Don't forget to look at your game!")
167
+
168
+ ---
169
+
170
+ Watch your animal move around!
171
+
172
+
173
+
174
+ ## 6. Something's Happening @showdialog
160
175
 
161
176
  ![A clipboard with a checklist. One item is checked off](/static/skillmap/zoo/zoo-clipboard.png)
162
177
 
@@ -165,7 +180,7 @@ mySprite.setBounceOnWall(true)
165
180
  The other kids at the zoo are going to
166
181
  love it...WHOA! What's that sound?
167
182
 
168
- ## Step 6 @showdialog
183
+ ## 7. WooWoo @showdialog
169
184
 
170
185
  ![A rotating red siren](/static/skillmap/zoo/siren.gif)
171
186
 
@@ -174,10 +189,10 @@ love it...WHOA! What's that sound?
174
189
  What's going on? Hold on, we're getting a report from the penguin department — the
175
190
  penguins did *what*?
176
191
 
177
- ## Step 7
192
+ ## Finale
178
193
  **🚨 OH NO🚨**
179
194
 
180
- You better get over there!
195
+ You better click **Done** and get over there!
181
196
 
182
197
 
183
198
 
@@ -1,20 +1,20 @@
1
1
  # First Exhibit: By Sea
2
2
 
3
- ## Step 1
3
+ ## 1. Welcome
4
4
 
5
- **🐙 Welcome to the aquarium! 🐙**
5
+ **🐙 Welcome to the aquarium! 🐙**
6
6
  We're so excited to have you designing this exhibit.
7
7
 
8
8
  ---
9
9
 
10
- To start, go to the ``||sprites:Sprites||`` category and drag
10
+ - :paper plane: To start, go to the ``||sprites:Sprites||`` category and drag
11
11
  ``||variables:set [mySprite] to sprite [ ] of kind [Player]||``
12
12
  into the ``||loops:on start||`` container.
13
13
 
14
- Click the grey box and use the **image editor** to
14
+ - :paint brush: Click the grey box and use the **image editor** to
15
15
  draw your favorite sea animal.
16
16
 
17
- Click **> Next** when you're ready for the next step.
17
+ - :mouse pointer: Click **Next** when you're ready for the next step.
18
18
 
19
19
  ```blocks
20
20
  let mySprite = sprites.create(img`
@@ -37,20 +37,21 @@ let mySprite = sprites.create(img`
37
37
  `, SpriteKind.Player)
38
38
  ```
39
39
 
40
- ## Step 2
40
+ ## 2. Move It
41
41
 
42
- **🐡 Just keep swimming! 🐡**
42
+ **Just keep swimming!**
43
43
 
44
44
  ---
45
45
 
46
- In ``||sprites:Sprites||``, find
47
- ``||sprites:set [mySprite] [x] to [0]||``
46
+ - :paper plane: In ``||sprites:Sprites||``, find
47
+ ``||sprites:set [mySprite] [x] to [0]||``
48
48
  and drag it into the **end** of the ``||loops:on start||`` container.
49
49
 
50
- Click **x** then choose ** vx (velocity x)** from the dropdown menu.
50
+ - :mouse pointer: Click **x** then choose ** vx (velocity x)** from the dropdown menu.
51
51
 
52
- Try changing the **0** in the textbox to something else
52
+ - :mouse pointer: Try changing the **0** in the textbox to something else
53
53
  *(either positive or negative)*.
54
+
54
55
  You should see your fishy friend start to move on the game screen.
55
56
 
56
57
  ```blocks
@@ -76,13 +77,14 @@ let mySprite = sprites.create(img`
76
77
  mySprite.vx = 50
77
78
  ```
78
79
 
79
- ## Step 3
80
+ ## 3. Bounce
80
81
 
81
82
  **Let's teach our fishy friend to do a flip!**
82
83
 
83
84
  ---
84
85
 
85
- Open ``||sprites:Sprites||``, then snap ``||sprites:set [mySprite] bounce on wall <ON>||``
86
+ - :paper plane: Open ``||sprites:Sprites||``, then snap
87
+ ``||sprites:set [mySprite] bounce on wall <ON>||``
86
88
  to the end of the program and check out your exhibit on the game screen!
87
89
 
88
90
  ```blocks
@@ -111,16 +113,18 @@ mySprite.setBounceOnWall(true)
111
113
  ```
112
114
 
113
115
 
114
- ## Step 4
116
+ ## 4. Random
115
117
 
116
118
  **Let's make the aquarium more exciting with some** **_randomness_**.
117
119
 
118
120
  ---
119
121
 
120
- Grab a **new** ``||sprites:set [mySprite] [x] to [0]||`` block
121
- and drag it to the end of the ``||loops:on start||`` container.
122
+ - :paper plane: Grab a **new**
123
+ ``||sprites:set [mySprite] [x] to [0]||``
124
+ block and drag it to the end of the ``||loops:on start||`` container.
125
+
126
+ - :mouse pointer: Replace **x** with **y** using the dropdown menu.
122
127
 
123
- ► Replace **x** with **y** using the dropdown menu.
124
128
  This will change the position of the fish in the up/down direction.
125
129
 
126
130
 
@@ -149,19 +153,19 @@ mySprite.setBounceOnWall(true)
149
153
  mySprite.y = 0
150
154
  ```
151
155
 
152
- ## Step 5
156
+ ## 5. Replace Values
153
157
 
154
- From the ``||math:Math||`` category, grab a
155
- ``||math:pick random [0] to [10]||`` value block and
158
+ - :calculator: From the ``||math:Math||`` category, grab a
159
+ ``||math:pick random [0] to [10]||``
160
+ value block and
156
161
  use it to replace the **0** next to ``||sprites:y||``.
157
162
 
158
- Try replacing **0** and **10** with larger numbers
163
+ - :mouse pointer: Try replacing **0** and **10** with larger numbers
159
164
  to see how they affect your new friend!
160
165
 
161
- ---
162
166
 
163
- **Hint:** The screen height only goes from **0** to **120** so numbers outside
164
- that range will hide your aquatic animal.
167
+ _💡 The screen height only goes from **0** to **120** so numbers outside
168
+ that range will hide your aquatic animal._
165
169
 
166
170
 
167
171
  ```blocks
@@ -189,19 +193,29 @@ mySprite.setBounceOnWall(true)
189
193
  mySprite.y = randint(10, 110)
190
194
  ```
191
195
 
196
+ ## 6. Try It
197
+
198
+ **Click the Game Window Tab (Above)**
199
+ ![Click the Game Window tab to see your scene. ](/static/skillmap/assets/game-win-tab.png "Don't forget to look at your game!")
200
+
201
+ ---
202
+
203
+ Watch your friend swim!
204
+
205
+
206
+
207
+ ## 7. Add More
192
208
 
193
- ## Step 6
194
- **This is awesome...**but it's looking a little lonely in that aquarium.
195
- Let's give your sea critter a few friends!
209
+ **This is awesome...**but it's looking a little lonely in that aquarium. Let's give your sea critter a few friends!
196
210
 
197
211
  ---
198
212
 
199
- In ``||loops:Loops||``, find the
200
- ``||loops:repeat [4] times||`` loop container and snap it into the **top** of the
201
- **on start** container.
213
+ - :redo: In ``||loops:Loops||``, find the
214
+ ``||loops:repeat [4] times||``
215
+ loop container and snap it into the **top** of the
216
+ ``||loops:on start||`` container.
202
217
 
203
- Grab the first block of code beneath the new loop and use it to drag the whole
204
- chunk of code up into the empty **repeat** container.
218
+ - :mouse pointer: Grab the first block of code beneath the new loop and use it to drag the whole chunk of code up into the empty **repeat** container.
205
219
 
206
220
  ```blocks
207
221
  //@highlight
@@ -230,7 +244,7 @@ for (let index = 0; index < 4; index++) {
230
244
  }
231
245
  ```
232
246
 
233
- ## Step 7 @showdialog
247
+ ## 8. What's Up? @showdialog
234
248
 
235
249
  **🌟 Great work 🌟**
236
250
 
@@ -240,7 +254,7 @@ Now it's feeding time, so let's
240
254
  get over to — **OH NO! What's this?**
241
255
 
242
256
 
243
- ## Step 8 @showdialog
257
+ ## 9. WooWoo @showdialog
244
258
 
245
259
  ![A rotating red siren](/static/skillmap/zoo/siren.gif)
246
260
 
@@ -249,8 +263,9 @@ get over to — **OH NO! What's this?**
249
263
  What's going on? Hold on, we're getting a report from the penguin department — the
250
264
  penguins did *what*?
251
265
 
252
- ## Step 9
253
- **🚨 You better click "Done" and get over there!🚨**
266
+ ## Finale
267
+ **You better click "Done" and get over there!**
268
+ 🚨 🚨
254
269
 
255
270
 
256
271
 
@@ -2,25 +2,26 @@
2
2
  # Penguins!
3
3
 
4
4
 
5
- ## Step 1 @showdialog
5
+ ## 1. Help! @showdialog
6
6
 
7
7
  ![A dirt path with a penguin looking up at a wooden sign. Several penguins are hiding in the bushes.](static/skillmap/zoo/zoo-penguins.png)
8
8
 
9
- **Thank goodness, you're here!** Penguins are *everywhere*!
9
+ **Thank goodness, you're here!**
10
+ Penguins are *everywhere*!
10
11
 
11
12
  They're running around outside of their enclosure. You have to help!
12
13
  They're eating all the ice cream and sliding down the street!
13
14
 
14
- ## Step 2
15
+ ## 2. Troubleshoot
15
16
 
16
17
  Look through the code and figure out how to put the penguins back into their
17
18
  icy paradise.
18
19
 
19
- Can you figure out how to move the penguin spawn point?
20
+ - :binoculars: Can you figure out how to move the penguin spawn point?
20
21
 
21
22
  ---
22
23
 
23
- When you've helped the penguins back into the exhibit click **Done**
24
+ Once you've helped the penguins back into the exhibit click **Done**
24
25
  to continue to other parts of the zoo.
25
26
 
26
27
 
@@ -29,8 +30,8 @@ let penguin: Sprite = null
29
30
  penguin.x = 10
30
31
  ```
31
32
 
32
- Look at this block in particular. What is it doing? Where does
33
- **x=10** put the penguins on the screen?
33
+ Look at this block. What is it doing?
34
+ Where does **x=10** put the penguins on the screen?
34
35
 
35
36
 
36
37