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.
- package/built/common-sim.d.ts +2 -0
- package/built/common-sim.js +4 -0
- package/built/target.js +1788 -236
- package/built/target.json +1788 -236
- package/built/targetlight.json +5 -5
- package/built/theme.json +3 -2
- package/docs/gamejam/global-2021.html +459 -0
- package/docs/hour-of-code/all.md +27 -0
- package/docs/hour-of-code/{educators.html → educators-2020.html} +25 -25
- package/docs/hour-of-code/educators-2021.html +625 -0
- package/docs/{hour-of-code.html → hour-of-code-2020.html} +37 -37
- package/docs/hour-of-code-2021.html +438 -183
- package/docs/hour-of-code-ref.json +3 -0
- package/docs/index-ref.json +1 -1
- package/docs/multipart-tutorials.md +0 -8
- package/docs/projects/SUMMARY.md +3 -2
- package/docs/recipes.md +0 -7
- package/docs/skillmap/clicker/clicker1.md +7 -7
- package/docs/skillmap/clicker/clicker2.md +9 -9
- package/docs/skillmap/clicker/clicker3.md +8 -8
- package/docs/skillmap/clicker/clicker4.md +8 -8
- package/docs/skillmap/clicker/clicker4a.md +7 -7
- package/docs/skillmap/clicker/clicker5.md +3 -3
- package/docs/skillmap/clicker-themed/clickert1.md +66 -38
- package/docs/skillmap/clicker-themed/clickert2.md +77 -58
- package/docs/skillmap/clicker-themed/clickert3.md +75 -55
- package/docs/skillmap/clicker-themed/clickert4.md +105 -118
- package/docs/skillmap/collector/collector1.md +11 -11
- package/docs/skillmap/collector/collector1a.md +8 -8
- package/docs/skillmap/collector/collector2.md +8 -8
- package/docs/skillmap/collector/collector3.md +8 -8
- package/docs/skillmap/collector/collector3a.md +7 -7
- package/docs/skillmap/collector/collector4.md +8 -8
- package/docs/skillmap/collector/collector5.md +2 -2
- package/docs/skillmap/collector-themed/collectort1.md +107 -88
- package/docs/skillmap/collector-themed/collectort2.md +109 -87
- package/docs/skillmap/collector-themed/collectort3.md +138 -115
- package/docs/skillmap/collector-themed/collectort4.md +130 -118
- package/docs/skillmap/collector-themed/collectort4old.md +23 -23
- package/docs/skillmap/collector-themed/collectort5.md +2 -2
- package/docs/skillmap/educator-info/forest-map-info.md +34 -25
- package/docs/skillmap/educator-info/pongo-map-info.md +55 -0
- package/docs/skillmap/educator-info/racer-map-info.md +105 -0
- package/docs/skillmap/educator-info/rockstar-map-info.md +1 -1
- package/docs/skillmap/educator-info/simple-shark-map-info.md +101 -0
- package/docs/skillmap/forest/forest1.md +1 -69
- package/docs/skillmap/forest/forest2.md +5 -65
- package/docs/skillmap/forest/forest3.md +1 -174
- package/docs/skillmap/forest/forest4.md +2 -336
- package/docs/skillmap/forest/forest5.md +1 -396
- package/docs/skillmap/forest/forest6.md +6 -372
- package/docs/skillmap/forest-old.md +92 -0
- package/docs/skillmap/forest.md +9 -9
- package/docs/skillmap/forest_new/forest1.md +191 -0
- package/docs/skillmap/forest_new/forest2.md +217 -0
- package/docs/skillmap/forest_new/forest3.md +333 -0
- package/docs/skillmap/forest_new/forest4.md +196 -0
- package/docs/skillmap/forest_new/forest5.md +291 -0
- package/docs/skillmap/forest_new/forest6.md +272 -0
- package/docs/skillmap/interface/activity1.md +41 -49
- package/docs/skillmap/jungle/jungle1.md +48 -28
- package/docs/skillmap/jungle/jungle2.md +50 -26
- package/docs/skillmap/jungle/jungle3.md +48 -27
- package/docs/skillmap/jungle/jungle4.md +76 -58
- package/docs/skillmap/jungle/jungle5.md +31 -25
- package/docs/skillmap/jungle/jungle6.md +34 -28
- package/docs/skillmap/jungle/jungle7.md +36 -24
- package/docs/skillmap/jungle/jungle8.md +27 -25
- package/docs/skillmap/jungle.md +7 -3
- package/docs/skillmap/long-shark.md +119 -0
- package/docs/skillmap/pongo/pongo1.md +256 -0
- package/docs/skillmap/pongo/pongo2.md +179 -0
- package/docs/skillmap/pongo/pongo3.md +177 -0
- package/docs/skillmap/pongo.md +59 -0
- package/docs/skillmap/racer.md +7 -7
- package/docs/skillmap/rockstar/rockstar1.md +32 -41
- package/docs/skillmap/rockstar/rockstar2.md +45 -27
- package/docs/skillmap/rockstar/rockstar3.md +45 -27
- package/docs/skillmap/rockstar.md +3 -1
- package/docs/skillmap/shark/shark1-simple.md +151 -0
- package/docs/skillmap/shark/shark2-simple.md +203 -0
- package/docs/skillmap/shark/shark3-simple.md +204 -0
- package/docs/skillmap/shark/shark4-simple.md +246 -0
- package/docs/skillmap/shark/shark4a-simple.md +244 -0
- package/docs/skillmap/shark.md +25 -58
- package/docs/skillmap/space/space1.md +63 -29
- package/docs/skillmap/space/space2.md +34 -25
- package/docs/skillmap/space/space3.md +86 -69
- package/docs/skillmap/space/space4.md +96 -65
- package/docs/skillmap/space/space4a.md +34 -25
- package/docs/skillmap/space/space5.md +81 -45
- package/docs/skillmap/space/space6.md +59 -81
- package/docs/skillmap/space.md +8 -5
- package/docs/skillmap/story/card.md +6 -6
- package/docs/skillmap/story/card2.md +6 -6
- package/docs/skillmap/story/story1.md +60 -175
- package/docs/skillmap/story/story2.md +89 -327
- package/docs/skillmap/story/story3.md +238 -228
- package/docs/skillmap/story/story4.md +23 -23
- package/docs/skillmap/zoo/zoo1.md +31 -16
- package/docs/skillmap/zoo/zoo2.md +45 -30
- package/docs/skillmap/zoo/zoo2a.md +51 -36
- package/docs/skillmap/zoo/zoo3.md +8 -7
- package/docs/skillmap/zoo/zoo4.md +61 -32
- package/docs/skillmap/zoo/zoo5.md +41 -31
- package/docs/skillmap/zoo.md +2 -2
- package/docs/skillmaps.md +20 -4
- package/docs/static/experiments/accessibleblocks.png +0 -0
- package/docs/static/experiments/blockserrorlist.png +0 -0
- package/docs/static/gamejam/jams/global-2021/assets/banner.png +0 -0
- package/docs/static/gamejam/jams/global-2021/info.json +10 -0
- package/docs/static/gamejam/jams/global-2021/rules.md +22 -0
- package/docs/static/gamejam/jams/global-2021/style.css +141 -0
- package/docs/static/gamejam/lib/gamejam.d.ts +1 -0
- package/docs/static/gamejam/lib/gamejam.js +34 -24
- package/docs/static/gamejam/lib/gamejam.ts +35 -24
- package/docs/static/hero-gallery/stream.png +0 -0
- package/docs/static/hour-of-code/{apple.png → 2020/apple.png} +0 -0
- package/docs/static/hour-of-code/{arcade.png → 2020/arcade.png} +0 -0
- package/docs/static/hour-of-code/{asphodel.png → 2020/asphodel.png} +0 -0
- package/docs/static/hour-of-code/{card.png → 2020/card.png} +0 -0
- package/docs/static/hour-of-code/{chase-the-pizza.png → 2020/chase-the-pizza.png} +0 -0
- package/docs/static/hour-of-code/{clovers.png → 2020/clovers.png} +0 -0
- package/docs/static/hour-of-code/{design.png → 2020/design.png} +0 -0
- package/docs/static/hour-of-code/{educators → 2020/educators}/asphodel-level1.png +0 -0
- package/docs/static/hour-of-code/{educators → 2020/educators}/asphodel-level4.png +0 -0
- package/docs/static/hour-of-code/{educators → 2020/educators}/asphodel-level6.png +0 -0
- package/docs/static/hour-of-code/{educators → 2020/educators}/asphodel-level7.png +0 -0
- package/docs/static/hour-of-code/{educators → 2020/educators}/asphodel-level9.png +0 -0
- package/docs/static/hour-of-code/{educators → 2020/educators}/clover-design.gif +0 -0
- package/docs/static/hour-of-code/{educators → 2020/educators}/shark-attack-tutorial.png +0 -0
- package/docs/static/hour-of-code/{galga.png → 2020/galga.png} +0 -0
- package/docs/static/hour-of-code/{lemon-leak.png → 2020/lemon-leak.png} +0 -0
- package/docs/static/hour-of-code/{micro-bit.png → 2020/micro-bit.png} +0 -0
- package/docs/static/hour-of-code/{minecraft.png → 2020/minecraft.png} +0 -0
- package/docs/static/hour-of-code/{nfl.png → 2020/nfl.png} +0 -0
- package/docs/static/hour-of-code/{ocean-jam.png → 2020/ocean-jam.png} +0 -0
- package/docs/static/hour-of-code/{pixel-background-primary.png → 2020/pixel-background-primary.png} +0 -0
- package/docs/static/hour-of-code/{pixel-background-secondary.png → 2020/pixel-background-secondary.png} +0 -0
- package/docs/static/hour-of-code/{shadowed-aside-frame.png → 2020/shadowed-aside-frame.png} +0 -0
- package/docs/static/hour-of-code/{shadowed-button-frame.png → 2020/shadowed-button-frame.png} +0 -0
- package/docs/static/hour-of-code/{shadowed-primary-frame.png → 2020/shadowed-primary-frame.png} +0 -0
- package/docs/static/hour-of-code/{shark-attack.png → 2020/shark-attack.png} +0 -0
- package/docs/static/hour-of-code/{simulator.gif → 2020/simulator.gif} +0 -0
- package/docs/static/hour-of-code/{simulator.png → 2020/simulator.png} +0 -0
- package/docs/static/hour-of-code/{styles.css → 2020/styles.css} +1 -1
- package/docs/static/hour-of-code/2021/Rowdies/OFL.txt +93 -0
- package/docs/static/hour-of-code/2021/Rowdies/Rowdies-Bold.ttf +0 -0
- package/docs/static/hour-of-code/2021/Rowdies/Rowdies-Regular.ttf +0 -0
- package/docs/static/hour-of-code/2021/beginner-skillmap.png +0 -0
- package/docs/static/hour-of-code/2021/favicon.png +0 -0
- package/docs/static/hour-of-code/2021/forest-skillmap-game.gif +0 -0
- package/docs/static/hour-of-code/2021/game-jam-hero.png +0 -0
- package/docs/static/hour-of-code/2021/hoc-2020.png +0 -0
- package/docs/static/hour-of-code/2021/hoc-card.png +0 -0
- package/docs/static/hour-of-code/2021/hoc-header-educators.png +0 -0
- package/docs/static/hour-of-code/2021/hoc-header-plane.gif +0 -0
- package/docs/static/hour-of-code/2021/hoc-header-scene.gif +0 -0
- package/docs/static/hour-of-code/2021/jungle-skillmap.png +0 -0
- package/docs/static/hour-of-code/2021/makecode-example.png +0 -0
- package/docs/static/hour-of-code/2021/microbit.png +0 -0
- package/docs/static/hour-of-code/2021/minecraft.png +0 -0
- package/docs/static/hour-of-code/2021/rockstar-skillmap.png +0 -0
- package/docs/static/hour-of-code/2021/styles.css +660 -62
- package/docs/static/logo.png +0 -0
- package/docs/static/skillmap/assets/my-assets-three.png +0 -0
- package/docs/static/skillmap/assets/sprite-from-container.gif +0 -0
- package/docs/static/skillmap/backgrounds/jungle-bg.png +0 -0
- package/docs/static/skillmap/backgrounds/jungle-map.png +0 -0
- package/docs/static/skillmap/backgrounds/rock-map.png +0 -0
- package/docs/static/skillmap/backgrounds/rockstar-card.gif +0 -0
- package/docs/static/skillmap/backgrounds/space-comp.png +0 -0
- package/docs/static/skillmap/backgrounds/space.png +0 -0
- package/docs/static/skillmap/certificates/forest-cert.pdf +0 -0
- package/docs/static/skillmap/certificates/forest-cert.png +0 -0
- package/docs/static/skillmap/certificates/jungle-cert.pdf +0 -0
- package/docs/static/skillmap/certificates/jungle-cert.png +0 -0
- package/docs/static/skillmap/certificates/rockstar-cert.pdf +0 -0
- package/docs/static/skillmap/certificates/rockstar-cert.png +0 -0
- package/docs/static/skillmap/certificates/shark-cert.pdf +0 -0
- package/docs/static/skillmap/certificates/shark-cert.png +0 -0
- package/docs/static/skillmap/certificates/space-cert.pdf +0 -0
- package/docs/static/skillmap/certificates/space-cert.png +0 -0
- package/docs/static/skillmap/pongo/pongo1.gif +0 -0
- package/docs/static/skillmap/pongo/pongo2gif +0 -0
- package/docs/static/skillmap/pongo/pongo3.gif +0 -0
- package/docs/static/skillmap/racer/racer1.gif +0 -0
- package/docs/static/skillmap/racer/racer2.gif +0 -0
- package/docs/static/skillmap/racer/racer3.gif +0 -0
- package/docs/static/skillmap/rockstar/rockstar1.gif +0 -0
- package/docs/static/skillmap/rockstar/rockstar2.gif +0 -0
- package/docs/static/skillmap/rockstar/rockstar3.gif +0 -0
- package/docs/static/skillmap/shark/shark1-simple.gif +0 -0
- package/docs/static/skillmap/shark/shark4a-simple.gif +0 -0
- package/docs/static/skillmap/zoo/overlaps-food-sprite.gif +0 -0
- package/docs/tutorials/barrel-dodger.md +4 -4
- package/docs/tutorials/collect-the-clovers.md +2 -2
- package/docs/tutorials/froggy.md +105 -90
- package/docs/tutorials/hundred.md +400 -0
- package/package.json +3 -3
- package/pxtarget.json +3 -2
- package/targetconfig.json +4 -1
- package/docs/recipes/wonder-woman-1984/01-maze.md +0 -291
- package/docs/recipes/wonder-woman-1984/02-artifact.md +0 -70
- package/docs/recipes/wonder-woman-1984/03-enemies.md +0 -65
- package/docs/skillmap/forest/forest9.md +0 -714
- package/docs/static/hour-of-code/2021/placeholder.png +0 -0
- package/docs/static/hour-of-code/ww-maze.png +0 -0
- package/docs/static/recipes/wonder-woman-1984/artifact-preview.png +0 -0
- package/docs/static/recipes/wonder-woman-1984/artifacts-location.gif +0 -0
- package/docs/static/recipes/wonder-woman-1984/draw-maze-backup.png +0 -0
- package/docs/static/recipes/wonder-woman-1984/draw-walls-backup.png +0 -0
- package/docs/static/recipes/wonder-woman-1984/end-position.png +0 -0
- package/docs/static/recipes/wonder-woman-1984/enemies-location.gif +0 -0
- package/docs/static/recipes/wonder-woman-1984/enemies-preview.png +0 -0
- package/docs/static/recipes/wonder-woman-1984/fill-maze.gif +0 -0
- package/docs/static/recipes/wonder-woman-1984/fill-walls.gif +0 -0
- package/docs/static/recipes/wonder-woman-1984/wonder-woman3.png +0 -0
- package/docs/static/recipes/wonder-woman-1984/ww-splash3.gif +0 -0
- package/docs/static/recipes/wonder-woman-1984/ww-splash3.mp4 +0 -0
- package/docs/static/ww84-background.png +0 -0
- package/docs/static/ww84-header.png +0 -0
- package/docs/ww84.html +0 -276
- package/sim/public/locales/zh-CN/bundled-strings.json +0 -1800
- package/sim/public/locales/zh-CN/target-strings.json +0 -13
- package/sim/public/locales/zh-TW/bundled-strings.json +0 -1903
- package/sim/public/locales/zh-TW/target-strings.json +0 -8
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Feed the Panda
|
|
2
2
|
|
|
3
|
-
##
|
|
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
|
-
|
|
13
|
-
It should look familiar.
|
|
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
|
-
|
|
17
|
+
|
|
18
|
+
## 2. Get Bamboo
|
|
17
19
|
|
|
18
20
|
**First, you'll need to grab some bamboo.**
|
|
19
21
|
|
|
20
22
|
---
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
- :game: From ``||controller:Controller||``, drag an
|
|
25
|
+
``||controller:on [A] button pressed ||``
|
|
26
|
+
container into the workspace.
|
|
23
27
|
|
|
24
|
-
|
|
28
|
+
- :paper plane: Snap a new
|
|
29
|
+
``||variables:set [mySprite] to sprite [ ] of kind [Player]||``
|
|
30
|
+
block inside it.
|
|
25
31
|
|
|
26
|
-
|
|
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
|
-
##
|
|
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
|
-
##
|
|
68
|
+
## 4. Random Bamboo
|
|
63
69
|
|
|
64
70
|
**Time to scatter the bamboo around the panda enclosure!**
|
|
65
71
|
|
|
66
72
|
---
|
|
67
73
|
|
|
68
|
-
|
|
69
|
-
|
|
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
|
-
|
|
72
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
|
|
115
|
-
``||sprites:set [myEnemy] follow [mySprite]||``
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
180
|
+
## 8. Destroy the Sprite
|
|
170
181
|
|
|
171
|
-
|
|
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
|
-
|
|
175
|
-
|
|
176
|
-
|
|
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
|
+

|
|
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
|
-
|
|
179
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
23
|
+
At the moment, the glove doesn't do anything when it overlaps quail.
|
|
24
|
+
|
|
25
|
+
We should fix that.
|
|
26
|
+
|
|
23
27
|
|
|
24
|
-
##
|
|
28
|
+
## 3. Overlap
|
|
25
29
|
|
|
26
30
|
**Let's catch some birds!**
|
|
27
31
|
|
|
28
32
|
---
|
|
29
33
|
|
|
30
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
53
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
77
|
+
## 5. Try It
|
|
72
78
|
|
|
73
|
-
**Give the game a try in the
|
|
79
|
+
**Give the game a try in the game window.**
|
|
74
80
|
|
|
75
|
-
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
What's happening?
|
|
76
84
|
What's not happening?
|
|
77
85
|
|
|
78
86
|
|
|
79
|
-
##
|
|
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
|
-
|
|
86
|
-
``||scene:on [sprite] of kind [Player] overlaps [ ] at [location]||``
|
|
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
|
-
|
|
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
|
-
##
|
|
109
|
+
## 7. Destroy
|
|
101
110
|
|
|
102
|
-
|
|
103
|
-
|
|
111
|
+
- :paper plane: From ``||sprites:Sprites||``, snap a
|
|
112
|
+
``||sprites:destroy [mySprite]||``
|
|
113
|
+
block into the empty overlaps container.
|
|
104
114
|
|
|
105
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
|
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
|
|
package/docs/skillmap/zoo.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
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-
|
|
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": "
|
|
19
|
+
"name": "Create a Space Adventure",
|
|
20
20
|
"cardType": "link",
|
|
21
|
-
"description": "
|
|
22
|
-
"imageUrl": "/static/skillmap/backgrounds/
|
|
23
|
-
"url": "https://arcade.makecode.com/--skillmap#
|
|
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
|
{
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
### Game Jam Rules
|
|
2
|
+
|
|
3
|
+
1. Games must be built in MakeCode Arcade
|
|
4
|
+
2. Your game must relate to the provided theme. Someone playing your game should be able to see how it relates to the theme without extra explanation.
|
|
5
|
+
3. Keep the games PG: no NSFW, offensive, or excessively violent content.
|
|
6
|
+
4. All games must be submitted by someone who is at least 13 years old by December 17th. Younger students are welcome to participate, but it must be in partnership with a student over 13.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### New to MakeCode?
|
|
10
|
+
|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
If you’ve never written code or used MakeCode Arcade before, no worries! Try out climate themed [Hour of Code™](/hour-of-code-2021) activity or our [Beginner Skillmap](https://arcade.makecode.com/--skillmap#beginner) to get down the basics.
|
|
14
|
+
<br /><br /><br /><br />
|
|
15
|
+
|
|
16
|
+
### Educators Training
|
|
17
|
+
|
|
18
|
+
Sign up for free training on how to run the Hour of Code Activity and Global MakeCode Arcade Game Jam in your classroom. We’ll cover how to use the MakeCode Arcade Platform, learning objectives, and more!
|
|
19
|
+
|
|
20
|
+
### More Game Jam!
|
|
21
|
+
|
|
22
|
+
Want to put on your own game jam? Check out our how-to guide, coming soon.
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**** GAMEJAM PAGE OVERRIDES ****/
|
|
2
|
+
|
|
3
|
+
.content {
|
|
4
|
+
background-color: unset;
|
|
5
|
+
color: #fff;
|
|
6
|
+
max-width: unset;
|
|
7
|
+
padding: 0;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**** Countdown Timer ****/
|
|
11
|
+
|
|
12
|
+
#timer {
|
|
13
|
+
margin: 0;
|
|
14
|
+
padding: 0;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
#timer > .label {
|
|
18
|
+
display: none;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
#timer > div:last-child {
|
|
22
|
+
width: 100%;
|
|
23
|
+
height: 100%;
|
|
24
|
+
align-items: stretch;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
#timer .counter {
|
|
28
|
+
flex-basis: 25%;
|
|
29
|
+
margin: 0 0.5rem;
|
|
30
|
+
border-radius: 1rem;
|
|
31
|
+
background-color: #eeca49;
|
|
32
|
+
display: flex;
|
|
33
|
+
align-items: center;
|
|
34
|
+
justify-content: center;
|
|
35
|
+
flex-direction: column;
|
|
36
|
+
width: 10rem;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.counter > .number {
|
|
40
|
+
font-family: 'Rowdies', 'Segoe UI', sans-serif;
|
|
41
|
+
font-weight: 700;
|
|
42
|
+
font-size: 5rem;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.counter > div:last-child {
|
|
46
|
+
margin-top: 2rem;
|
|
47
|
+
font-size: 2rem;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
section.hoc-aside-01 #timer {
|
|
51
|
+
width: unset;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**** Rules Section ****/
|
|
55
|
+
|
|
56
|
+
.rules ol {
|
|
57
|
+
padding-left: 2.5rem;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.rules ol li {
|
|
61
|
+
padding-left: 1rem;
|
|
62
|
+
font-weight: 400;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.rules ol li::marker {
|
|
66
|
+
font-weight: 700;
|
|
67
|
+
color: #eeca49;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**** Submit Section ****/
|
|
71
|
+
|
|
72
|
+
.submit {
|
|
73
|
+
border-radius: 1rem;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.submit .wrapper {
|
|
77
|
+
padding: 0 4rem;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.submit .actions {
|
|
81
|
+
justify-content: flex-end;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@media (max-width: 480px) {
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**** New to MakeCode Section ****/
|
|
88
|
+
|
|
89
|
+
.new {
|
|
90
|
+
margin-top: 8rem !important;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.new .btn {
|
|
94
|
+
float: unset !important;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.new .buttons {
|
|
98
|
+
text-align: right;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.new .buttons .btn:last-child {
|
|
102
|
+
margin-left: 2rem;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
@media (max-width: 768px) {
|
|
106
|
+
.new {
|
|
107
|
+
margin-top: 5rem !important;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
@media (max-width: 480px) {
|
|
112
|
+
.new .buttons .btn:last-child {
|
|
113
|
+
margin-top: 1.5rem;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**** ACTION BUTTONS ****/
|
|
118
|
+
|
|
119
|
+
.button {
|
|
120
|
+
color: #fff;
|
|
121
|
+
background-color: #3dc1aa;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.button:hover {
|
|
125
|
+
color: #fff;
|
|
126
|
+
background-color: #2ead98;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**** SECTION COLORS ****/
|
|
130
|
+
|
|
131
|
+
#educators-training,
|
|
132
|
+
#educators-training + p {
|
|
133
|
+
color: #000;
|
|
134
|
+
background-color: #3dc1aa;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
#new-to-makecode- + p {
|
|
138
|
+
float: right;
|
|
139
|
+
position: relative;
|
|
140
|
+
top: -5.5rem;
|
|
141
|
+
}
|
|
@@ -119,9 +119,17 @@ function makeRules() {
|
|
|
119
119
|
var parent = document.getElementById("rules");
|
|
120
120
|
parent.innerHTML = markdown;
|
|
121
121
|
// insert schedule of events after rules
|
|
122
|
-
var
|
|
123
|
-
if (
|
|
124
|
-
|
|
122
|
+
var collaborateNode = document.getElementById(info.rules.collaborateId);
|
|
123
|
+
if (collaborateNode) {
|
|
124
|
+
collaborateNode.parentElement.insertBefore(document.getElementById("events"), collaborateNode);
|
|
125
|
+
}
|
|
126
|
+
// move submit section if submitPositionId exists
|
|
127
|
+
if (info.rules.submitPositionId) {
|
|
128
|
+
var beforeNode = document.getElementById(info.rules.submitPositionId);
|
|
129
|
+
var submitNode = document.getElementById("submit");
|
|
130
|
+
if (beforeNode && submitNode) {
|
|
131
|
+
beforeNode.parentElement.insertBefore(submitNode, beforeNode);
|
|
132
|
+
}
|
|
125
133
|
}
|
|
126
134
|
initRulesTelemetry(info.rules.tipsId);
|
|
127
135
|
}
|
|
@@ -157,30 +165,32 @@ function makeWinners() {
|
|
|
157
165
|
function makeGallery() {
|
|
158
166
|
var container = document.querySelector(".gallery");
|
|
159
167
|
var parent = document.getElementById("gallery");
|
|
160
|
-
if (
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
168
|
+
if (container && parent) {
|
|
169
|
+
if (!(info === null || info === void 0 ? void 0 : info.featured.length)) {
|
|
170
|
+
var description = document.querySelector(".gallery .description");
|
|
171
|
+
description.innerText = "Check back later to play some submitted games!";
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
var hint = document.createElement("div");
|
|
175
|
+
hint.className = "hint";
|
|
176
|
+
hint.innerText = "If you see blocks overlapping each other in the editor workspace, you can \
|
|
177
|
+
reformat them by selecting \"Format Code\" from the menu when you right-click \
|
|
178
|
+
on the workspace background.";
|
|
179
|
+
container.insertBefore(hint, parent);
|
|
180
|
+
}
|
|
181
|
+
var selected = randomize(info.featured); // show all the games
|
|
182
|
+
var row = document.createElement("div");
|
|
183
|
+
for (var i = 0; i < selected.length; i++) {
|
|
184
|
+
row.appendChild(makeGameCard(selected[i]));
|
|
185
|
+
if (i % 3 == 2) {
|
|
186
|
+
parent.appendChild(row);
|
|
187
|
+
row = document.createElement("div");
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
if (selected.length % 3 != 0) {
|
|
177
191
|
parent.appendChild(row);
|
|
178
|
-
row = document.createElement("div");
|
|
179
192
|
}
|
|
180
193
|
}
|
|
181
|
-
if (selected.length % 3 != 0) {
|
|
182
|
-
parent.appendChild(row);
|
|
183
|
-
}
|
|
184
194
|
}
|
|
185
195
|
function makeGameCard(game) {
|
|
186
196
|
var card = document.createElement("div");
|