pxt-arcade 1.7.3 → 1.7.4

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 (149) hide show
  1. package/built/target.js +69 -68
  2. package/built/target.json +69 -68
  3. package/built/targetlight.json +4 -4
  4. package/built/theme.json +2 -1
  5. package/docs/hour-of-code/educators-2021.html +366 -0
  6. package/docs/hour-of-code-2021.html +239 -140
  7. package/docs/hour-of-code.html +11 -11
  8. package/docs/index-ref.json +1 -1
  9. package/docs/multipart-tutorials.md +0 -8
  10. package/docs/projects/SUMMARY.md +3 -2
  11. package/docs/recipes.md +0 -7
  12. package/docs/skillmap/clicker/clicker1.md +7 -7
  13. package/docs/skillmap/clicker/clicker2.md +9 -9
  14. package/docs/skillmap/clicker/clicker3.md +8 -8
  15. package/docs/skillmap/clicker/clicker4.md +8 -8
  16. package/docs/skillmap/clicker/clicker4a.md +7 -7
  17. package/docs/skillmap/clicker/clicker5.md +3 -3
  18. package/docs/skillmap/clicker-themed/clickert1.md +8 -8
  19. package/docs/skillmap/clicker-themed/clickert2.md +10 -10
  20. package/docs/skillmap/clicker-themed/clickert3.md +8 -8
  21. package/docs/skillmap/clicker-themed/clickert4.md +8 -8
  22. package/docs/skillmap/collector/collector1.md +11 -11
  23. package/docs/skillmap/collector/collector1a.md +8 -8
  24. package/docs/skillmap/collector/collector2.md +8 -8
  25. package/docs/skillmap/collector/collector3.md +8 -8
  26. package/docs/skillmap/collector/collector3a.md +7 -7
  27. package/docs/skillmap/collector/collector4.md +8 -8
  28. package/docs/skillmap/collector/collector5.md +2 -2
  29. package/docs/skillmap/collector-themed/collectort1.md +14 -14
  30. package/docs/skillmap/collector-themed/collectort2.md +9 -9
  31. package/docs/skillmap/collector-themed/collectort3.md +11 -11
  32. package/docs/skillmap/collector-themed/collectort4.md +11 -11
  33. package/docs/skillmap/collector-themed/collectort4old.md +8 -8
  34. package/docs/skillmap/collector-themed/collectort5.md +2 -2
  35. package/docs/skillmap/educator-info/forest-map-info.md +8 -8
  36. package/docs/skillmap/educator-info/racer-map-info.md +105 -0
  37. package/docs/skillmap/educator-info/simple-shark-map-info.md +101 -0
  38. package/docs/skillmap/forest/forest1.md +1 -69
  39. package/docs/skillmap/forest/forest2.md +3 -67
  40. package/docs/skillmap/forest/forest3.md +1 -174
  41. package/docs/skillmap/forest/forest4.md +2 -336
  42. package/docs/skillmap/forest/forest5.md +1 -396
  43. package/docs/skillmap/forest/forest6.md +6 -372
  44. package/docs/skillmap/forest.md +2 -2
  45. package/docs/skillmap/interface/activity1.md +14 -14
  46. package/docs/skillmap/jungle/jungle1.md +48 -28
  47. package/docs/skillmap/jungle/jungle2.md +50 -26
  48. package/docs/skillmap/jungle/jungle3.md +48 -27
  49. package/docs/skillmap/jungle/jungle4.md +76 -58
  50. package/docs/skillmap/jungle/jungle5.md +31 -25
  51. package/docs/skillmap/jungle/jungle6.md +34 -28
  52. package/docs/skillmap/jungle/jungle7.md +36 -24
  53. package/docs/skillmap/jungle/jungle8.md +27 -25
  54. package/docs/skillmap/jungle.md +7 -3
  55. package/docs/skillmap/long-shark.md +119 -0
  56. package/docs/skillmap/racer.md +7 -7
  57. package/docs/skillmap/rockstar/rockstar1.md +32 -13
  58. package/docs/skillmap/rockstar/rockstar2.md +43 -25
  59. package/docs/skillmap/rockstar/rockstar3.md +43 -25
  60. package/docs/skillmap/rockstar.md +3 -1
  61. package/docs/skillmap/shark/shark1-simple.md +151 -0
  62. package/docs/skillmap/shark/shark2-simple.md +203 -0
  63. package/docs/skillmap/shark/shark3-simple.md +204 -0
  64. package/docs/skillmap/shark/shark4-simple.md +246 -0
  65. package/docs/skillmap/shark/shark4a-simple.md +244 -0
  66. package/docs/skillmap/shark.md +25 -58
  67. package/docs/skillmap/space/space1.md +62 -28
  68. package/docs/skillmap/space/space2.md +33 -24
  69. package/docs/skillmap/space/space3.md +85 -68
  70. package/docs/skillmap/space/space4.md +95 -64
  71. package/docs/skillmap/space/space4a.md +32 -24
  72. package/docs/skillmap/space/space5.md +77 -41
  73. package/docs/skillmap/space/space6.md +56 -78
  74. package/docs/skillmap/space.md +8 -5
  75. package/docs/skillmap/story/card.md +6 -6
  76. package/docs/skillmap/story/card2.md +6 -6
  77. package/docs/skillmap/story/story1.md +7 -7
  78. package/docs/skillmap/story/story2.md +11 -11
  79. package/docs/skillmap/story/story3.md +10 -10
  80. package/docs/skillmap/story/story4.md +10 -10
  81. package/docs/skillmap/zoo/zoo1.md +31 -16
  82. package/docs/skillmap/zoo/zoo2.md +45 -30
  83. package/docs/skillmap/zoo/zoo2a.md +51 -36
  84. package/docs/skillmap/zoo/zoo3.md +8 -7
  85. package/docs/skillmap/zoo/zoo4.md +61 -32
  86. package/docs/skillmap/zoo/zoo5.md +41 -31
  87. package/docs/skillmap/zoo.md +2 -2
  88. package/docs/skillmaps.md +20 -4
  89. package/docs/static/experiments/accessibleblocks.png +0 -0
  90. package/docs/static/experiments/blockserrorlist.png +0 -0
  91. package/docs/static/hour-of-code/2021/beginner-skillmap.png +0 -0
  92. package/docs/static/hour-of-code/2021/favicon.png +0 -0
  93. package/docs/static/hour-of-code/2021/forest-skillmap-game.gif +0 -0
  94. package/docs/static/hour-of-code/2021/global-game-jam.png +0 -0
  95. package/docs/static/hour-of-code/2021/header.gif +0 -0
  96. package/docs/static/hour-of-code/2021/hoc-2020.png +0 -0
  97. package/docs/static/hour-of-code/2021/hoc-card.png +0 -0
  98. package/docs/static/hour-of-code/2021/microbit.png +0 -0
  99. package/docs/static/hour-of-code/2021/styles.css +269 -21
  100. package/docs/static/skillmap/assets/my-assets-three.png +0 -0
  101. package/docs/static/skillmap/backgrounds/jungle-bg.png +0 -0
  102. package/docs/static/skillmap/backgrounds/jungle-map.png +0 -0
  103. package/docs/static/skillmap/backgrounds/rock-map.png +0 -0
  104. package/docs/static/skillmap/backgrounds/rockstar-card.gif +0 -0
  105. package/docs/static/skillmap/backgrounds/space-comp.png +0 -0
  106. package/docs/static/skillmap/backgrounds/space.png +0 -0
  107. package/docs/static/skillmap/certificates/forest-cert.pdf +0 -0
  108. package/docs/static/skillmap/certificates/forest-cert.png +0 -0
  109. package/docs/static/skillmap/certificates/jungle-cert.pdf +0 -0
  110. package/docs/static/skillmap/certificates/jungle-cert.png +0 -0
  111. package/docs/static/skillmap/certificates/rockstar-cert.pdf +0 -0
  112. package/docs/static/skillmap/certificates/rockstar-cert.png +0 -0
  113. package/docs/static/skillmap/certificates/shark-cert.pdf +0 -0
  114. package/docs/static/skillmap/certificates/shark-cert.png +0 -0
  115. package/docs/static/skillmap/certificates/space-cert.pdf +0 -0
  116. package/docs/static/skillmap/certificates/space-cert.png +0 -0
  117. package/docs/static/skillmap/racer/racer1.gif +0 -0
  118. package/docs/static/skillmap/racer/racer2.gif +0 -0
  119. package/docs/static/skillmap/racer/racer3.gif +0 -0
  120. package/docs/static/skillmap/rockstar/rockstar1.gif +0 -0
  121. package/docs/static/skillmap/rockstar/rockstar2.gif +0 -0
  122. package/docs/static/skillmap/rockstar/rockstar3.gif +0 -0
  123. package/docs/static/skillmap/shark/shark1-simple.gif +0 -0
  124. package/docs/static/skillmap/shark/shark4a-simple.gif +0 -0
  125. package/docs/static/skillmap/zoo/overlaps-food-sprite.gif +0 -0
  126. package/docs/tutorials/hundred.md +400 -0
  127. package/package.json +1 -1
  128. package/pxtarget.json +2 -1
  129. package/targetconfig.json +4 -1
  130. package/docs/recipes/wonder-woman-1984/01-maze.md +0 -291
  131. package/docs/recipes/wonder-woman-1984/02-artifact.md +0 -70
  132. package/docs/recipes/wonder-woman-1984/03-enemies.md +0 -65
  133. package/docs/skillmap/forest/forest9.md +0 -714
  134. package/docs/static/hour-of-code/ww-maze.png +0 -0
  135. package/docs/static/recipes/wonder-woman-1984/artifact-preview.png +0 -0
  136. package/docs/static/recipes/wonder-woman-1984/artifacts-location.gif +0 -0
  137. package/docs/static/recipes/wonder-woman-1984/draw-maze-backup.png +0 -0
  138. package/docs/static/recipes/wonder-woman-1984/draw-walls-backup.png +0 -0
  139. package/docs/static/recipes/wonder-woman-1984/end-position.png +0 -0
  140. package/docs/static/recipes/wonder-woman-1984/enemies-location.gif +0 -0
  141. package/docs/static/recipes/wonder-woman-1984/enemies-preview.png +0 -0
  142. package/docs/static/recipes/wonder-woman-1984/fill-maze.gif +0 -0
  143. package/docs/static/recipes/wonder-woman-1984/fill-walls.gif +0 -0
  144. package/docs/static/recipes/wonder-woman-1984/wonder-woman3.png +0 -0
  145. package/docs/static/recipes/wonder-woman-1984/ww-splash3.gif +0 -0
  146. package/docs/static/recipes/wonder-woman-1984/ww-splash3.mp4 +0 -0
  147. package/docs/static/ww84-background.png +0 -0
  148. package/docs/static/ww84-header.png +0 -0
  149. package/docs/ww84.html +0 -276
@@ -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
 
@@ -1,6 +1,6 @@
1
1
  # Feed the Panda
2
2
 
3
- ## Step 1
3
+ ## 1. Feed the Panda
4
4
 
5
5
  **🎋 It's feeding time! 🎋**
6
6
 
@@ -9,21 +9,27 @@ write some code to feed it some tasty bamboo.
9
9
 
10
10
  ---
11
11
 
12
- Take a look at the code in your workspace.
13
- It should look familiar. Can you remember what it does?
12
+ - :binoculars: Take a look at the code in your workspace.
13
+ It should look familiar.
14
14
 
15
+ Can you remember what each block does?
15
16
 
16
- ## Step 2
17
+
18
+ ## 2. Get Bamboo
17
19
 
18
20
  **First, you'll need to grab some bamboo.**
19
21
 
20
22
  ---
21
23
 
22
- From ``||controller:Controller||``, drag an ``||controller:on [A] button pressed ||`` container into the workspace.
24
+ - :game: From ``||controller:Controller||``, drag an
25
+ ``||controller:on [A] button pressed ||``
26
+ container into the workspace.
23
27
 
24
- Snap a new ``||variables:set [mySprite] to sprite [ ] of kind [Player]||`` block inside it.
28
+ - :paper plane: Snap a new
29
+ ``||variables:set [mySprite] to sprite [ ] of kind [Player]||``
30
+ block inside it.
25
31
 
26
- Make sure to change the kind to ``||sprites:Food||``, then click on
32
+ - :mouse pointer: Make sure to change the kind to ``||sprites:Food||``, then click on
27
33
  the grey square and draw a delicious piece of bamboo in the **image editor**.
28
34
 
29
35
  ```blocks
@@ -50,7 +56,7 @@ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
50
56
  ```
51
57
 
52
58
 
53
- ## Step 3 @showdialog
59
+ ## 3. Try It! @showdialog
54
60
 
55
61
  **Press the Ⓐ button**
56
62
 
@@ -59,19 +65,23 @@ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
59
65
  Look at your game screen to see what happens.
60
66
 
61
67
 
62
- ## Step 4
68
+ ## 4. Random Bamboo
63
69
 
64
70
  **Time to scatter the bamboo around the panda enclosure!**
65
71
 
66
72
  ---
67
73
 
68
- From ``||sprites:Sprites||``, get a ``||sprites:set [mySprite] position to x [0] y [0]||``
69
- block and place it at the **end** of the ``||controller:on [A] button pressed ||`` container.
74
+ - :paper plane: From ``||sprites:Sprites||``, get a
75
+ ``||sprites:set [mySprite] position to x [0] y [0]||``
76
+ block and place it at the **end** of the
77
+ ``||controller:on [A] button pressed ||``
78
+ container.
70
79
 
71
- From ``||math:Math||``, grab two ``||math:pick random [0] to [10]||`` value blocks and
72
- use them to replace the **x** and **y** values in the new **set position** block.
80
+ - :calculator: From ``||math:Math||``, grab two
81
+ ``||math:pick random [0] to [10]||``
82
+ value blocks and use them to replace the **x** and **y** values in the new **set position** block.
73
83
 
74
- Try some different numbers to see how they affect the way the bamboo is **randomly** placed on the screen.
84
+ - :mouse pointer: Try some different numbers to see how they affect the way the bamboo is **randomly** placed on the screen.
75
85
 
76
86
 
77
87
  ```blocks
@@ -100,23 +110,23 @@ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
100
110
  ```
101
111
 
102
112
 
103
- ## Step 5
113
+ ## 5. Panda Food
104
114
 
105
115
  **Press the Ⓐ button (or click the space bar)** to place food for the panda.
106
116
 
107
117
 
108
- ## Step 6
118
+ ## 6. Help the Panda
109
119
 
110
120
  **Aw, the panda isn't very good at finding the food...let's help it out!**
111
121
 
112
122
  ---
113
123
 
114
- Open ``||sprites:Sprites||`` and drag a
115
- ``||sprites:set [myEnemy] follow [mySprite]||`` block out into the **end**
124
+ - :paper plane: Open ``||sprites:Sprites||`` and drag a
125
+ ``||sprites:set [myEnemy] follow [mySprite]||``
126
+ block out into the **end**
116
127
  of the ``||controller:on A button pressed||`` container.
117
128
 
118
- Change the first variable value to ``||variables:panda||``, then try your code
119
- on the game screen.
129
+ - :mouse pointer: Change the first variable value to ``||variables:panda||``, then try your code on the game screen.
120
130
 
121
131
  ```blocks
122
132
  let panda:Sprite = null;
@@ -145,7 +155,7 @@ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
145
155
  })
146
156
  ```
147
157
 
148
- ## Step 7
158
+ ## 7. Good Eats
149
159
 
150
160
  **😋 Munch time 😋**
151
161
 
@@ -154,10 +164,11 @@ panda **overlaps** the bamboo.
154
164
 
155
165
  ---
156
166
 
157
- From ``||sprites:Sprites||``, pull out an ``||sprites:on [sprite] of kind [Player] overlaps [othersprite] of kind [Player]||``
167
+ - :paper plane: From ``||sprites:Sprites||``, pull out an
168
+ ``||sprites:on [sprite] of kind [Player] overlaps [othersprite] of kind [Player]||``
158
169
  container and drop it in the workspace.
159
170
 
160
- Click on the second ``||sprites:Player||`` dropdown menu
171
+ - :mouse pointer: Click on the second ``||sprites:Player||`` dropdown menu
161
172
  and select **Food**.
162
173
 
163
174
  ```blocks
@@ -166,17 +177,34 @@ sprites.onOverlap(SpriteKind.Player, SpriteKind.Food, function (sprite, otherSpr
166
177
  })
167
178
  ```
168
179
 
169
- ## Step 8
180
+ ## 8. Destroy the Sprite
170
181
 
171
- Next, grab a ``||sprites:destroy [mySprite] ⊕||`` block from ``||sprites:Sprites||``
182
+ - :paper plane: Next, grab a
183
+ ``||sprites:destroy [mySprite] ⊕||``
184
+ block from ``||sprites:Sprites||``
172
185
  and put it in the **on overlaps** container.
173
186
 
174
- See the oblong value block in the header of the **on overlaps** container called
175
- ``||variables:otherSprite||``?
176
- Grab it and drag it down to replace **mySprite** in the **destroy** block.
187
+ - :mouse pointer: Grab ``||variables:otherSprite||`` from the title of the **overlaps** container and drag it down to replace ``||variables:mySprite||`` in the **destroy** block.
188
+
189
+ ![An example of someone dragging the otherSprite variable out of the container and into the other block](static/skillmap/zoo/overlaps-food-sprite.gif "So that's how you do that!")
190
+
191
+ ```blocks
192
+
193
+ }
194
+ sprites.onOverlap(SpriteKind.Player, SpriteKind.Food, function (sprite, otherSprite) {
195
+ //@highlight
196
+ otherSprite.destroy()
197
+ })
198
+ ```
199
+
177
200
 
178
- Press the plus icon on the block to add an effect that will play when the
179
- panda starts munching. Both **spray** and **disintegrate** work well here!
201
+ ## 9. Special Effects
202
+
203
+ - :mouse pointer: Press the plus icon on the
204
+ ``||sprites:destroy [otherSprite] ⊕||``
205
+ block to add an effect that will play when the panda starts munching.
206
+
207
+ _💡 Both **spray** and **disintegrate** work well here!_
180
208
 
181
209
 
182
210
 
@@ -189,13 +217,14 @@ sprites.onOverlap(SpriteKind.Player, SpriteKind.Food, function (sprite, otherSpr
189
217
  })
190
218
  ```
191
219
 
192
- ## step 9
220
+
221
+ ## 10. Full Panda
193
222
 
194
223
  **Way to go!**
195
224
 
196
225
  That panda's getting a full meal!
197
226
 
198
- Give your game a try using the game screen, and when you're done,
227
+ Give your game a try using the game screen, and when you're finished,
199
228
  click **Done** to continue your zoo journey.
200
229
 
201
230
 
@@ -1,6 +1,6 @@
1
1
  # Quail Hatching
2
2
 
3
- ## Step 1 @showdialog
3
+ ## So Many Quail! @showdialog
4
4
 
5
5
  It's quail hatching season! The quail are laying eggs left
6
6
  and right.
@@ -8,29 +8,34 @@ and right.
8
8
  Let's catch them and put them back into the
9
9
  quail coop.
10
10
 
11
- ## step 2
11
+
12
+ ## 2. Look for the Glove
12
13
 
13
14
  First, look at the code in the workspace.
14
15
 
15
16
  ---
16
17
 
17
- Can you find where the quail-catching glove is created
18
+ - :binoculars: Can you find where the quail-catching glove is created
18
19
  and where the controller buttons are enabled?
19
20
 
20
21
  ---
21
22
 
22
- At the moment, the glove doesn't do anything when it overlaps quail. We should fix that.
23
+ At the moment, the glove doesn't do anything when it overlaps quail.
24
+
25
+ We should fix that.
26
+
23
27
 
24
- ## Step 3
28
+ ## 3. Overlap
25
29
 
26
30
  **Let's catch some birds!**
27
31
 
28
32
  ---
29
33
 
30
- From ``||sprites:Sprites||``, drag an ``||sprites:on [sprite] of kind [Player] overlaps [othersprite] of kind [Player]||``
34
+ - :paper plane: From ``||sprites:Sprites||``, drag an
35
+ ``||sprites:on [sprite] of kind [Player] overlaps [othersprite] of kind [Player]||``
31
36
  container into the workspace.
32
37
 
33
- Click the **second** ``||sprites:Player||`` dropdown and
38
+ - :mouse pointer: Click the **second** ``||sprites:Player||`` dropdown and
34
39
  change it to ``||sprites:Quail||``.
35
40
 
36
41
 
@@ -43,16 +48,17 @@ sprites.onOverlap(SpriteKind.Player, SpriteKind.Quail, function (sprite, otherSp
43
48
  })
44
49
  ```
45
50
 
46
- ## Step 3
51
+ ## 4. Follow the Glove
47
52
 
48
- **✋ Once you catch a quail, it should stay in your hand 🤚**
53
+ **✋ Once you catch a quail, it should stay in your hand**
49
54
 
50
55
  ---
51
56
 
52
- Also from ``||sprites:Sprites||``, grab ``||sprites:set [myEnemy] follow [mySprite] ||`` and drag it into
53
- the empty **overlaps** container.
57
+ - :paper plane: Also from ``||sprites:Sprites||``, grab
58
+ ``||sprites:set [myEnemy] follow [mySprite] ||``
59
+ and drag it into the empty **overlaps** container.
54
60
 
55
- From the header of the **on overlaps** container, grab the ``||variables:otherSprite||`` value block and
61
+ - :mouse pointer: Grab the ``||variables:otherSprite||`` value block out of the title of the outer container and
56
62
  drag it down to replace the ``||variables:myEnemy||`` argument in the **set follow** block.
57
63
 
58
64
 
@@ -68,24 +74,27 @@ sprites.onOverlap(SpriteKind.Player, SpriteKind.Quail, function (sprite, otherSp
68
74
  })
69
75
  ```
70
76
 
71
- ## Step 5
77
+ ## 5. Try It
72
78
 
73
- **Give the game a try in the simulator.**
79
+ **Give the game a try in the game window.**
74
80
 
75
- What's happening?
81
+ ---
82
+
83
+ What's happening?
76
84
  What's not happening?
77
85
 
78
86
 
79
- ## Step 6
87
+ ## 6. Put It Away
80
88
 
81
89
  **We need to put the quail back into the coop.**
82
90
 
83
91
  ---
84
92
 
85
- From ``||scene:Scene||``, drag an
86
- ``||scene:on [sprite] of kind [Player] overlaps [ ] at [location]||`` container into the workspace.
93
+ - :tree: From ``||scene:Scene||``, drag an
94
+ ``||scene:on [sprite] of kind [Player] overlaps [ ] at [location]||``
95
+ container into the workspace.
87
96
 
88
- Change **Player** to **Quail**, and change the empty tile to the **coop** tile.
97
+ - :mouse pointer: Change **Player** to **Quail**, and change the empty tile to the **coop** tile.
89
98
 
90
99
  ```blocks
91
100
  namespace SpriteKind {
@@ -97,12 +106,13 @@ scene.onOverlapTile(SpriteKind.Quail, assets.tile`myTile`, function (sprite, loc
97
106
  ```
98
107
 
99
108
 
100
- ## Step 7
109
+ ## 7. Destroy
101
110
 
102
- Snap a ``||sprites:destroy [mySprite]||`` block into the empty
103
- overlaps container.
111
+ - :paper plane: From ``||sprites:Sprites||``, snap a
112
+ ``||sprites:destroy [mySprite]||``
113
+ block into the empty overlaps container.
104
114
 
105
- Grab the ``||variables:sprite||`` variable in the header of the
115
+ - :mouse pointer: Grab the ``||variables:sprite||`` value block from the
106
116
  **overlaps** container and drag it down to replace the
107
117
  ``||variables:mySprite||`` argument in the **destroy** block.
108
118
 
@@ -120,25 +130,25 @@ scene.onOverlapTile(SpriteKind.Quail, assets.tile`myTile`, function (sprite, loc
120
130
  })
121
131
  ```
122
132
 
123
- ## Step 8
133
+ ## 8. Gather the Eggs
124
134
 
125
135
  **Now you have to deal with the pesky leftover quail eggs**
126
136
 
127
137
  ---
128
138
 
129
- Right-click on your
130
- ``||sprites:on [sprite] of kind [Player] overlaps [othersprite] of kind [Quail]||``
139
+ - :mouse pointer: Right-click on your
140
+ ``||sprites:on [sprite] of kind [Player] overlaps [othersprite] of kind [Quail]||``
131
141
  container and select **Duplicate** from the dropdown menu. Then change the second
132
142
  argument from **Quail** to **Egg**.
133
143
 
134
- Right-click on your
135
- ``||scene:on [sprite] of kind [Quail] overlaps [coop] at [location]||``
144
+ - :mouse pointer: Right-click on your
145
+ ``||scene:on [sprite] of kind [Quail] overlaps [coop] at [location]||``
136
146
  container and select **Duplicate** from the dropdown menu.
137
147
  Then change the kind from **Quail** to **Egg**.
138
148
 
139
149
  ---
140
150
 
141
- Use the simulator to see how fast you can clear out the quail!
151
+ Look at the game window to see how fast you can clear out the quail!
142
152
 
143
153
  ```blocks
144
154
  namespace SpriteKind {
@@ -154,13 +164,13 @@ scene.onOverlapTile(SpriteKind.Egg, assets.tile`myTile`, function (sprite, locat
154
164
  ```
155
165
 
156
166
 
157
- ## Step 8
167
+ ## 9. Finale
158
168
 
159
169
  **Now play your game!**
160
170
 
161
171
  Can you clear all of the eggs before they hatch into more quail?
162
172
 
163
- Once you're done playing, click **Done** to go back to the map where you can share
173
+ Once you're finished playing, click **Done** to go back to the map where you can share
164
174
  this game with family and friends!
165
175
 
166
176
 
@@ -1,4 +1,4 @@
1
- # Zookeepers Day
1
+ # A Zookeeper's Adventure!
2
2
  * name: A Zookeeper's Adventure!
3
3
  * description: Ever wonder what it takes to be a zookeeper? The answer may surprise you...
4
4
  * infoUrl: skillmap/educator-info/zookeeper-map-info
@@ -42,7 +42,7 @@
42
42
  * url: /skillmap/zoo/zoo2a
43
43
  * imageurl: /static/skillmap/zoo/zoo2a.gif
44
44
  * tags: easy, movement, random
45
- * next: zoo-activity2
45
+ * next: zoo-activity3
46
46
 
47
47
  ### zoo-activity3
48
48
  * allowcodecarryover: false
package/docs/skillmaps.md CHANGED
@@ -16,11 +16,27 @@
16
16
  "directOpen": true
17
17
  },
18
18
  {
19
- "name": "Shang-Chi and the Legend of the Ten Rings",
19
+ "name": "Create a Space Adventure",
20
20
  "cardType": "link",
21
- "description": "Create your own amazing adventure based on the movie Shang-Chi and the Legend of the Ten Rings!",
22
- "imageUrl": "/static/skillmap/backgrounds/sc.png",
23
- "url": "https://arcade.makecode.com/--skillmap#sc",
21
+ "description": "Make a Galaga-style game by creating a rocket that fires at enemies. Design your outerspace view, create amazing animations, and MORE!",
22
+ "imageUrl": "/static/skillmap/backgrounds/space.png",
23
+ "url": "https://arcade.makecode.com/--skillmap#space",
24
+ "directOpen": true
25
+ },
26
+ {
27
+ "name": "Jungle Monkey Jump Platformer",
28
+ "cardType": "link",
29
+ "description": "Code your monkey, add magic platforms, toss explosives, and collect valuables through customizable level maps.",
30
+ "imageUrl": "/static/skillmap/backgrounds/jungle-map.png",
31
+ "url": "https://arcade.makecode.com/--skillmap#jungle",
32
+ "directOpen": true
33
+ },
34
+ {
35
+ "name": "80s Rockstar Maze",
36
+ "cardType": "link",
37
+ "description": "Code your rockstar to move through the crowded backstage area to collect all the gear before they're mobbed by fans!",
38
+ "imageUrl": "/static/skillmap/backgrounds/rockstar-card.gif",
39
+ "url": "https://arcade.makecode.com/--skillmap#rockstar",
24
40
  "directOpen": true
25
41
  },
26
42
  {