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