pxt-arcade 1.7.13 → 1.8.3

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 (85) hide show
  1. package/built/target-strings.json +0 -1
  2. package/built/target.js +135 -135
  3. package/built/target.json +135 -135
  4. package/built/targetlight.json +5 -5
  5. package/docs/beta-ref.json +1 -1
  6. package/docs/gamejam/global-2021.html +32 -25
  7. package/docs/gamejam/lessons/box.md +3 -3
  8. package/docs/hero-banner.md +13 -0
  9. package/docs/hour-of-code/educators-2021.html +62 -3
  10. package/docs/hour-of-code-2020.html +19 -18
  11. package/docs/hour-of-code-2021.html +2 -0
  12. package/docs/insiders.html +3 -3
  13. package/docs/projects/SUMMARY.md +2 -3
  14. package/docs/projects.md +0 -8
  15. package/docs/skillmap/beg-skillmap.md +3 -0
  16. package/docs/skillmap/beginner-skillmap.md +3 -0
  17. package/docs/skillmap/clicker-star/star1.md +227 -0
  18. package/docs/skillmap/clicker-star/star2.md +234 -0
  19. package/docs/skillmap/clicker-star/star3.md +208 -0
  20. package/docs/skillmap/clicker-star/star4.md +255 -0
  21. package/docs/skillmap/clicker-themed/clickert1.md +7 -4
  22. package/docs/skillmap/educator-info/turkey-map-info.md +80 -0
  23. package/docs/skillmap/forest.md +9 -6
  24. package/docs/skillmap/jungle/jungle1.md +5 -2
  25. package/docs/skillmap/jungle.md +3 -0
  26. package/docs/skillmap/pongo.md +1 -1
  27. package/docs/skillmap/racer.md +4 -2
  28. package/docs/skillmap/rockstar.md +3 -0
  29. package/docs/skillmap/shark/shark4a-simple.md +2 -2
  30. package/docs/skillmap/shark/shark4a.md +2 -2
  31. package/docs/skillmap/shark.md +3 -1
  32. package/docs/skillmap/space/space5.md +3 -3
  33. package/docs/skillmap/space/space6.md +2 -2
  34. package/docs/skillmap/space.md +4 -0
  35. package/docs/skillmap/star.md +92 -0
  36. package/docs/skillmap/turkey/turkey1.md +275 -0
  37. package/docs/skillmap/turkey/turkey2.md +270 -0
  38. package/docs/skillmap/turkey/turkey3.md +214 -0
  39. package/docs/skillmap/turkey.md +61 -0
  40. package/docs/skillmap/zoo.md +15 -0
  41. package/docs/skillmaps-next.md +43 -0
  42. package/docs/skillmaps.md +14 -6
  43. package/docs/stable-ref.json +1 -1
  44. package/docs/static/badges/badge-beginner-locked.png +0 -0
  45. package/docs/static/badges/badge-beginner.png +0 -0
  46. package/docs/static/badges/badge-forest-locked.png +0 -0
  47. package/docs/static/badges/badge-forest.png +0 -0
  48. package/docs/static/badges/badge-generic.png +0 -0
  49. package/docs/static/badges/badge-jungle-locked.png +0 -0
  50. package/docs/static/badges/badge-jungle.png +0 -0
  51. package/docs/static/badges/badge-rockstar-locked.png +0 -0
  52. package/docs/static/badges/badge-rockstar.png +0 -0
  53. package/docs/static/badges/badge-shark-locked.png +0 -0
  54. package/docs/static/badges/badge-shark.png +0 -0
  55. package/docs/static/badges/badge-space-locked.png +0 -0
  56. package/docs/static/badges/badge-space.png +0 -0
  57. package/docs/static/badges/badge-turkey-locked.png +0 -0
  58. package/docs/static/badges/badge-turkey.png +0 -0
  59. package/docs/static/badges/badge-zoo-locked.png +0 -0
  60. package/docs/static/badges/badge-zoo.png +0 -0
  61. package/docs/static/hero-gallery/hoc-2021.png +0 -0
  62. package/docs/static/hero-gallery/insiders.png +0 -0
  63. package/docs/static/hero-gallery/turkey.png +0 -0
  64. package/docs/static/icons/android-chrome-256x256.png +0 -0
  65. package/docs/static/icons/android-chrome-384x384.png +0 -0
  66. package/docs/static/icons/maskable-icon-213x213.png +0 -0
  67. package/docs/static/skillmap/backgrounds/forest.png +0 -0
  68. package/docs/static/skillmap/backgrounds/shark-attack-bg.png +0 -0
  69. package/docs/static/skillmap/backgrounds/shark-map.png +0 -0
  70. package/docs/static/skillmap/backgrounds/turkey-comp.png +0 -0
  71. package/docs/static/skillmap/certificates/turkey-cert.pdf +0 -0
  72. package/docs/static/skillmap/certificates/turkey-cert.png +0 -0
  73. package/docs/static/skillmap/star/star1.gif +0 -0
  74. package/docs/static/skillmap/star/star2.gif +0 -0
  75. package/docs/static/skillmap/star/star3.gif +0 -0
  76. package/docs/static/skillmap/star/star4.png +0 -0
  77. package/docs/static/skillmap/turkey/pick-player.gif +0 -0
  78. package/docs/static/skillmap/turkey/turkey-location.gif +0 -0
  79. package/docs/static/skillmap/turkey/turkey1.gif +0 -0
  80. package/docs/static/skillmap/turkey/turkey2.gif +0 -0
  81. package/docs/static/skillmap/turkey/turkey3.gif +0 -0
  82. package/docs/tutorials.md +8 -0
  83. package/package.json +2 -2
  84. package/targetconfig.json +2 -2
  85. package/docs/skillmap/clicker.md +0 -85
@@ -0,0 +1,214 @@
1
+ # Leaps and Bounds
2
+
3
+
4
+ ## Welcome @showdialog
5
+
6
+ **Right now, the game never ends.**
7
+ We need a way to trigger a win!
8
+
9
+ ![Anigif showing the turkey winning](/static/skillmap/turkey/turkey3.gif "Win or Lose!")
10
+
11
+
12
+
13
+ ## 2. Try It!
14
+
15
+ **First, play the game in the game window.**
16
+ 🕹️ 🕹️ 🕹️
17
+
18
+ ---
19
+
20
+ You should be able to move your player left and right with the arrows, and jump with the (A) button. You should also be getting points with each turkey you release from its cage.
21
+
22
+
23
+
24
+ ## 3. Finding Freedom
25
+
26
+ **Let's add a way to win when your turkey gets to the purple tiles at the top!**
27
+
28
+ ---
29
+
30
+ - :tree: Drag a new
31
+ ``||scene:on [sprite] of kind [Player] overlaps [ ] at [location]||``
32
+ container into the workspace.
33
+
34
+ - :paint brush: This time, change the checkerboard to the solid purple tile.
35
+
36
+ - :circle: Snap a
37
+ ``||game:game over <LOSE>||``
38
+ block into the new container and toggle
39
+ the **`<LOSE>`** switch to **`<WIN>`**!
40
+
41
+
42
+ ```blocks
43
+ scene.onOverlapTile(SpriteKind.Player, sprites.swamp.swampTile16, function (sprite, location) {
44
+ //@highlight
45
+ game.over(true)
46
+ })
47
+ ```
48
+
49
+ ## 4. Play Your Game!
50
+
51
+ You should win the game as soon as your turkey makes it to the purple tiles.
52
+
53
+
54
+
55
+ ## 5. It's Time!
56
+
57
+
58
+ **Let's add a way to lose if you don't make it to the top quickly enough.**
59
+
60
+ ---
61
+
62
+
63
+ - :info: To set a countdown timer, drag
64
+ ``||info: start countdown [10] (s)||``
65
+ into **the end** of the ``||loops: on start||`` container.
66
+
67
+ - :mouse pointer: Change **10** to **120** so that you have about 2 minutes to escape.
68
+
69
+
70
+ ```blocks
71
+ let mySprite: Sprite = null
72
+ scene.setBackgroundColor(9)
73
+ tiles.setTilemap(tilemap`level1`)
74
+ mySprite = sprites.create(assets.image`player`, SpriteKind.Player)
75
+ controller.moveSprite(mySprite, 100, 0)
76
+ mySprite.ay = 500
77
+ scene.cameraFollowSprite(mySprite)
78
+ tiles.placeOnRandomTile(mySprite, assets.tile`start`)
79
+ //@highlight
80
+ info.startCountdown(120)
81
+ })
82
+ ```
83
+
84
+
85
+ ## 6. Time's Up!
86
+
87
+
88
+ **When the timer runs out, end the game with a loss.**
89
+
90
+ ---
91
+
92
+
93
+ - :info: Drag a
94
+ ``||info: on countdown end||``
95
+ contaner into an empty area of the workspace.
96
+
97
+
98
+ - :circle: Snap a
99
+ ``||game:game over <LOSE>||``
100
+ block into the new container.
101
+
102
+
103
+ ```blocks
104
+ info.onCountdownEnd(function () {
105
+ game.over(false)
106
+ })
107
+ ```
108
+
109
+
110
+ ## 7. Play Your Game!
111
+
112
+ **Give it a try in the game window.**
113
+
114
+ ---
115
+
116
+ Can you make it to the purple tiles at the top before the timer expires?
117
+
118
+ How many turkeys can you save along the way?
119
+
120
+
121
+
122
+ ## Finale
123
+
124
+ **Play your game and see how many turkeys you can save!**
125
+
126
+ ---
127
+
128
+ When you're finished playing, click **Done** to return to the main skillmap where you can choose whether you want to share this project with friends or start editing it using a full toolbox!
129
+
130
+
131
+
132
+
133
+
134
+ ```template
135
+ namespace SpriteKind {
136
+ export const Rescued = SpriteKind.create()
137
+ }
138
+ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
139
+ mySprite.vy = -300
140
+ })
141
+ scene.onOverlapTile(SpriteKind.Player, assets.image`cage`, function (sprite, location) {
142
+ info.changeScoreBy(1)
143
+ tiles.setTileAt(location, assets.tile`transparency16`)
144
+ turkey = sprites.create(assets.image`turkey`, SpriteKind.Rescued)
145
+ tiles.placeOnTile(turkey, location)
146
+ turkey.follow(mySprite)
147
+ })
148
+
149
+ let turkey: Sprite = null
150
+ let mySprite: Sprite = null
151
+ scene.setBackgroundColor(9)
152
+ tiles.setTilemap(tilemap`level1`)
153
+ mySprite = sprites.create(assets.image`player`, SpriteKind.Player)
154
+ controller.moveSprite(mySprite, 100, 0)
155
+ mySprite.ay = 500
156
+ scene.cameraFollowSprite(mySprite)
157
+ tiles.placeOnRandomTile(mySprite, assets.tile`start`)
158
+
159
+ ```
160
+
161
+ ```ghost
162
+
163
+ info.onCountdownEnd(function () {
164
+ game.over(false)
165
+ })
166
+
167
+ namespace SpriteKind {
168
+ export const Rescued = SpriteKind.create()
169
+ }
170
+ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
171
+ mySprite.vy = -300
172
+ })
173
+ scene.onOverlapTile(SpriteKind.Player, sprites.dungeon.stairWest, function (sprite, location) {
174
+ tiles.setTileAt(location, assets.tile`transparency16`)
175
+ turkey = sprites.create(assets.image`turkey`, SpriteKind.Rescued)
176
+ tiles.placeOnTile(turkey, location)
177
+ turkey.follow(mySprite)
178
+ info.changeScoreBy(1)
179
+ })
180
+ scene.onOverlapTile(SpriteKind.Player, sprites.swamp.swampTile16, function (sprite, location) {
181
+ game.over(true)
182
+ })
183
+ let turkey: Sprite = null
184
+ let mySprite: Sprite = null
185
+ scene.setBackgroundColor(9)
186
+ tiles.setTilemap(tilemap`level1`)
187
+ mySprite = sprites.create(assets.image`player`, SpriteKind.Player)
188
+ tiles.placeOnRandomTile(mySprite, assets.tile`start`)
189
+ mySprite.ay = 500
190
+ controller.moveSprite(mySprite, 100, 0)
191
+ scene.cameraFollowSprite(mySprite)
192
+ info.startCountdown(120)
193
+
194
+
195
+ ```
196
+
197
+
198
+
199
+ ```assetjson
200
+ {
201
+ "README.md": " ",
202
+ "assets.json": "",
203
+ "images.g.jres": "{\n \"image2\": {\n \"data\": \"hwQYABgAAAAAAAC7AAC7CwAAAAAAALC7uwAruwAAAAAAALBLtAsrsrALAAAAAAC7RAsrsrsLAAAAAACwS7QrsksLAAAAsLu7u7QrS0QLAAAAsCIisksrRL28AAAAsLsiIksrRNy9CwAAALC7K0vk7s69uwAAAAAAK0Lk7t7cvAAAAAAAsCLi7u7MvAsAAAAAAOvs7u7LzAsAALC7vczu7u7NzAsAALvu7rvu7u7ezAsAsOvu7u7u7u7szAsAsN7R7u7uzszszAsAsB7/7u7u7u7uvgsAu/6/Ti7u7u7uvgSwvu7eRCLu7u7uvgTgu+7dRCLu7u7uuwCwANtERC677u6+CwAAAPBMRAsAu7u7AAAAAAAAtAAAAAAAAAAAAAAACwAAAAAAAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"player\"\n },\n \"image1\": {\n \"data\": \"hwQeABQAAAAAAAC7AAC7CwAAAAAAALC7uwAruwAAAAAAALBLtAsrsrALAAAAAAC7RAsrsrsLAAAAAACwS7QrsksLAAAAsLu7u7Qru8wLAAAAsCIisksr7r0MAAAAsLsiItvr7tzNAAAAALC7K9vt7s69AAAAAAAAu9vu7t7cAAAAAACwu73u7u7cAAAAAAC77r7u7u7bAAAAALDr7u7uu73dAAAAALDe0e7u7u7eAAAAALAe/+7u7u7uAAAAALv+v07u7u7uAAAAsL7u3kTi7u7uAAAA4Lvu3UTi7u5OAAAAsADbRESwu7tNAAAAAADwTEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"turkey\"\n },\n \"*\": {\n \"mimeType\": \"image/x-mkcd-f4\",\n \"dataEncoding\": \"base64\",\n \"namespace\": \"myImages\"\n }\n}",
204
+ "images.g.ts": "// Auto-generated code. Do not edit.\nnamespace myImages {\n\n helpers._registerFactory(\"image\", function(name: string) {\n switch(helpers.stringTrim(name)) {\n case \"image2\":\n case \"player\":return img`\n........................\n..................beb...\n.................beb....\n.....bbb......bbbbbb....\n.....b2b.....bbeeeeeb...\n.bb..b2bb...bbed1feedf..\nbbbb.b22b...bee1ffed4c..\nbb4bbb22b...beedfbdd44..\n.b44bb22bb..deeeee44444b\n.bb44bb222b.beeee44444b.\n..bb44bbb22bcbeeee22eb..\n....bb44442ecbeee2222...\nbbbbbbbb442ceeeeeeeeb...\nb2222222eeeeeeeeeeeeb...\nbb222b44eeeeeeeeeeeeeb..\n.bbbb444eeeeeeeceeeeeb..\n...bb4dceeeeeeeceeeeeb..\n..bb44bdcdeeeeeceeeeeb..\n..bbbbcddccbdecceeeeeb..\n......bbbdcccdeeeeeebb..\n.......bbccccccceeebb...\n........bbbcccccbbbb....\n..........bbbbbbb44.....\n........................\n`;\n case \"image1\":\n case \"turkey\":return img`\n..............................\n..............................\n..............................\n.....bbb........beb...........\n.....b2b.......beb............\n.bb..b2bb...bbbbbb............\nbbbb.b22b..bbeeeeeb...........\nbb4bbb22b.bbed1feedf..........\n.b44bb22bbbee1ffed4c..........\n.bb44bb22bbeedfbdd44..........\n..bb44bbbbdeeeee44444.........\n....bb4dddbbeee44444..........\nbbbbbbbbdeeeeeee22............\nb222222eeeeeeeeeeeb...........\nbb222beeeeeebeeeeeb...........\n.bbbbbeeeeeebeeeeeb...........\n...bbcdceeeedeeeeeb...........\n..bb4cbdcdeebeeeeeb...........\n..bbbbcddccbdeeeeed...........\n.......cbdddddeee44...........\n`;\n }\n return null;\n })\n\n helpers._registerFactory(\"animation\", function(name: string) {\n switch(helpers.stringTrim(name)) {\n\n }\n return null;\n })\n\n}\n// Auto-generated code. Do not edit.\n",
205
+ "main.blocks": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable type=\"KIND_SpriteKind\" id=\"9ecw?uPtb)o)0#+E^u,1\">Player</variable><variable type=\"KIND_SpriteKind\" id=\":ML9S)E@KgRhXE/x{A`9\">Projectile</variable><variable type=\"KIND_SpriteKind\" id=\";B^Y[cZd;E_DnD.5{J@R\">Food</variable><variable type=\"KIND_SpriteKind\" id=\"wsNPniHJ[)XHrQ;3T)#=\">Enemy</variable><variable type=\"KIND_SpriteKind\" id=\"H;j``voP]Rgjc1sSe+-(\">Turkey</variable><variable id=\"gcUpn%0~ykX#(O:!pNmV\">mySprite</variable><variable id=\"r5?^Ib{kgL!.xn|uBAI,\">followTurkey</variable><variable id=\"S|~*(#7WP05%3gUAO?Yz\">myEnemy</variable></variables></xml>",
206
+ "main.ts": "\n",
207
+ "pxt.json": "{\n \"name\": \"turkey day assets only\",\n \"description\": \"\",\n \"dependencies\": {\n \"device\": \"*\"\n },\n \"files\": [\n \"main.blocks\",\n \"main.ts\",\n \"README.md\",\n \"assets.json\",\n \"tilemap.g.jres\",\n \"tilemap.g.ts\",\n \"images.g.jres\",\n \"images.g.ts\"\n ],\n \"targetVersions\": {\n \"branch\": \"v1.6.24\",\n \"tag\": \"v1.6.24\",\n \"commits\": \"https://github.com/microsoft/pxt-arcade/commits/5bea1575ea693e0648a647cbd86cda9776d58f48\",\n \"target\": \"1.6.24\",\n \"pxt\": \"7.2.25\"\n },\n \"preferredEditor\": \"tsprj\"\n}\n",
208
+ "tilemap.g.jres": "{\n \"transparency16\": {\n \"data\": \"hwQQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"tilemapTile\": true\n },\n \"tile1\": {\n \"data\": \"hwQQABAAAAAAAAAAAAAAuwAAAAAAAADbAAAAAAAAANsAAAAAAAAA2wAAAAAAAADbAAAAAAAAANsAAAAAAAAA2wAAAAAAAADbAAAAAAAAANsAAAAAAAAA2wAAAAAAAADbAAAAAAAAANsAAAAAAAAA2wAAAAAAAADbAAAAAAAAANsAAAAAAAAAuw==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"tilemapTile\": true,\n \"displayName\": \"start\"\n },\n \"tile2\": {\n \"data\": \"hwQQABAAAADMzMzMzMzMzNzd3d3d3d3N3LBLtLAiu8vcALtEuyK7xMzMzMzMzMzM3N3d3dzd3M3cKyKy3O7czdy7u7Lc7tzM3ACwu9zu3M3MzMzM3O7cztzd3d3c7tzO3Lvu7ty+3Mvc6x3t3O7cztzr8e/c7tzOzMzMzMz8zMzc3d3d3f3dzQ==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"tilemapTile\": true,\n \"displayName\": \"cage\"\n },\n \"level1\": {\n \"id\": \"level1\",\n \"mimeType\": \"application/mkcd-tilemap\",\n \"data\": \"MTAxMDAwYTAwMDAyMDcwNzA3MDcwNzA3MDcwNzA3MDcwNzA3MDcwNzAxMDIwNzA3MDcwNzA3MDcwNzA3MDcwNzA3MDcwNzA3MDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwNjAwMDAwMDAwMDAwMDAwMDAwMDA1MDQwNDA2MDEwMjA5MDAwMDAwMDAwMDA1MDQwNDA0MDQwNDA0MDYwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwNTA0MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDUwNjAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwNTA0MDYwMDAwMDAwMDAwMDAwNTA0MDQwNjAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDA1MDYwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDUwNDA0MDYwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDUwNjAwMDAwMDAwMDkwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MDQwNDA2MDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDQwNDA0MDQwNjAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwNTA0MDYwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwNTA0MDQwNjAwMDAwMDAwMDAwMTAyMDAwMDAwMDUwNjAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjA2MDAwMDAwMDAwMDAwMDAwMDAwMDUwNjAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDUwNjAwMDAwMDAwMDAwMDAwMDAwNTA0MDYwMTAyMDAwMDA1MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDA1MDQwNjAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDUwNjAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwNjAwMDAwMTAyMDUwNDA0MDQwNjAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MDYwMTAyMDAwMDAwMDAwMDAwMDkwMDAwMDUwNjAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwNTA0MDYwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MDQwNDA2MDEwMjAwMDUwNDA2MDAwMDAwMDUwNjAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDA1MDQwNjAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDA1MDYwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwNTA0MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDA1MDQwNjAwMDAwMDAwMDAwMTAyMDAwMDAwMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MDQwNDA2MDEwMjAwMDAwMDA1MDYwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwNTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDUwNjAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDA1MDQwNDA2MDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDUwNDA2MDAwMDAwMDAwMDAwMDUwNjAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDA1MDYwMDAwMDAwNTA0MDQwNjAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDA1MDQwNDA0MDQwNDA2MDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwNjAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDA5MDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwMTAyMDAwMDAwMDAwMDA1MDQwNDA2MDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTA2MDAwMTAyMDAwNTA0MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDUwNjAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwOTAwMDAwMDAwMDUwNDA0MDQwNjAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwNTA0MDQwNDA2MDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwNTA2MDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwNTA2MDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwNTA0MDQwNDA0MDEwMjAwMDUwNDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwNTA2MDAwMDAwMDkwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MDQwNjAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwNTA0MDYwMDAwMDAwMDAwMDAwMDAxMDIwNTA0MDQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDUwNDA2MDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDA1MDQwNjAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDA1MDQwNjAwMDAwMDAwMDAwMDAwMDEwMjAwMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwNDA2MDAwMDAwMDAwMDA1MDYwMDAwMDkwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTA0MDQwNjAxMDIwMDAwMDAwNTA0MDYwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwNTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDUwNDA0MDYwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTA0MDYwMTAyMDUwNDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDA5MDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDA1MDQwNDA2MDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MDYwMDAxMDIwMDAwMDkwMDAwMDAwNTA0MDQwNjAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDA1MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDUwNDA2MDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDUwNDA2MDAwMDA5MDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwNDA0MDYwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwNTA0MDQwNjAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwNDA0MDYwMDAwMDAwMDAwMDUwNDA2MDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDIwMDAwMDAwMDA1MDQwNjAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDkwMDAwMDAwMTAyMDAwMDAwMDAwMDAwMDAwMDAwMDUwNjAwMDAwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyMDAwNTA0MDQwNjAwMDAwMDA1MDQwNDA0MDYwMDAxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwMDAwMTAyMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDIyMDAwMDAwMDAyMDIyMjIwMjAwMDAyMDIyMjIyMjIyMDIwMDAwMDAwMDAwMDAyMDIyMjIwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMjAwMjAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIyMjAyMDAwMDIwMjIyMjAyMDAwMDAwMDAwMDAwMjAwMjAwMDAyMDAyMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDIyMjIwMDIwMDIwMDAwMjAwMjAwMDAyMDAyMDAwMDAwMDAyMDIyMjIwMjAwMDAwMDAwMDAwMDIwMjIyMjIyMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDIwMjIwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAyMjIyMDAwMDIwMDIwMDIyMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAyMjAwMDAwMDAwMjAwMjIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjIyMDAwMDAwMDAyMjIyMDIyMDAyMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMjIwMjAwMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMjAwMjAwMjAwMjAwMDAwMDAwMjAwMjIwMjIyMjIyMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAyMDIyMDIwMDAwMDAwMDIyMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAyMjAyMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMDAyMDIyMjIwMjIyMDIwMDIyMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAyMDIyMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMjIwMDIwMDIwMDAwMDAwMDAwMDAyMDIyMjIwMDAwMDAwMDAwMjAwMjAwMDAyMDIyMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMDAyMDIyMjIwMjAwMjIwMDAwMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjIwMDIwMDAwMDAwMDIwMDIwMDIyMDAwMDAwMDAyMDAyMDAyMDIyMDIwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMjIyMjAwMDAwMDIyMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMjIwMDIwMjIyMjAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIyMDIyMjIyMjAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMjAwMjIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIyMDIwMDAwMjIyMjAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAyMjIwMDIyMjAyMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDIyMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDIyMjIwMjIwMDIwMDAwMDAwMDAwMDAyMDIyMjIyMjAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDIwMDIwMDAwMjAwMjAwMDAyMjAwMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMDAyMjIyMjIwMjIyMDIwMDAwMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAyMjAwMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMDAyMDIyMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDIwMjIwMDAwMDAyMDIyMjIwMjAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMDAwMDIyMDIyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMjIwMjAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAyMDIyMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDIyMDIwMDAwMjIwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMDAwMDIwMjIyMjAyMDAyMjAyMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjIwMDIwMDAwMDAwMDIwMDIwMDAwMjAyMjAyMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAyMjIyMjIyMjAwMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMjIyMjAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMDAwMDAwMjIyMDAyMDAwMDIwMjIwMjAwMjAwMjAwMDAwMDAwMDAwMDIwMDIyMDAyMDAwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDIyMDIwMDAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMjAyMjAwMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMjAyMjIyMDIwMDAwMDAwMDAwMDAyMDAyMDAyMjIyMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDIyMjIwMDAwMjAyMjAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMDAwMDAwMDAyMDAyMDAyMDIyMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIwMDAwMDAwMDIyMDAyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMDIyMjIyMDAyMDIyMjIyMDAyMDAwMDAwMDAwMDAwMjAwMjAwMDAwMDAwMDAwMDIwMjIyMjIyMjIyMjIyMjIyMg==\",\n \"tileset\": [\n \"myTiles.transparency16\",\n \"sprites.skillmap.islandTile3\",\n \"sprites.skillmap.islandTile5\",\n \"sprites.skillmap.islandTile1\",\n \"sprites.castle.tilePath2\",\n \"sprites.castle.tilePath1\",\n \"sprites.castle.tilePath3\",\n \"sprites.swamp.swampTile16\",\n \"myTiles.tile1\",\n \"myTiles.tile2\"\n ],\n \"displayName\": \"level1\"\n },\n \"*\": {\n \"mimeType\": \"image/x-mkcd-f4\",\n \"dataEncoding\": \"base64\",\n \"namespace\": \"myTiles\"\n }\n}",
209
+ "tilemap.g.ts": "// Auto-generated code. Do not edit.\nnamespace myTiles {\n //% fixedInstance jres blockIdentity=images._tile\n export const transparency16 = image.ofBuffer(hex``);\n //% fixedInstance jres blockIdentity=images._tile\n export const tile1 = image.ofBuffer(hex``);\n //% fixedInstance jres blockIdentity=images._tile\n export const tile2 = image.ofBuffer(hex``);\n\n helpers._registerFactory(\"tilemap\", function(name: string) {\n switch(helpers.stringTrim(name)) {\n case \"level1\":\n case \"level1\":return tiles.createTilemap(hex`1000a00002070707070707070707070707070701020707070707070707070707070707010200000000000000000000000000000102000000000000000000000000000001020600000000000000000005040406010209000000000005040404040404060102000000000000000000000000000001020504060000000000000000000000010200000000000000000000000000000102000000000000050600000000000001020000000000000000000000000000010200000000000000000000000000000102000504060000000000000504040601020000000000000000000000000000010200000000000005060000000000000102000000000000000000000000000001020000000000000000000000000000010200000000000000050404060000000102000000000000050600000000090001020000000000000000000005040406010200000000000000000000000000000102040404040600000000000000000001020000000000000000000000000000010200000000000000000504060000000102000000000000000000000000000001020000000000000000000000000000010200000000000504040600000000000102000000050600000000000000000001020000000000000000000000000000010206000000000000000000050600000102000000000000000000000000000001020900000000000000000000000000010200050600000000000000000504060102000005060000000000000000000001020000000000000000000000000000010200000005040600000000000000000102000000000000000000000000000001020000000000000000050600000000010200000000000000000000050600000102050404040600000000000000000001020000000000000000000000000000010200000000000000000000000005060102000000000000090000050600000001020000000000000000000000000000010200000000000504060000000000000102000000000000000000000000000001020000000000000000000005040406010200050406000000050600000000000102000000000000000000000000000001020000000000000000000000000000010200000000000005040600000000000102000000000000000000000000000001020000000000000000000000000000010200000000000000000005060000000102000000000000000000000000000001020504060000000000000000000000010200000000000005040600000000000102000000090000000000000000000001020000000000000000000005040406010200000005060000000000000000000102000000000000000000000000000001020000000000000000000000000000010200000506000000000000000000000102000000050600000000000000000001020000000005040406000000000000010200000000000000000000000000000102050406000000000000050600000001020000000000000000000000000000010200000000000000000000000000000102000000000005060000000504040601020000000000000000000000000000010200000000000000000000000000000102000005040404040406000000000001020000000000000000000000000000010200000000000000000000050600000102000000000000000000000000000001020000000000000009000000000000010200000000000000000000000000050102000000000005040406000000000001020000000000000000000000000000010200000000000000000000000506000102000504060000000000000000000001020000000000000000000000000000010200000000000000050600000000000102000000000000000000000000000001020000000000000000000000000000010200000900000000050404040600000102000000000000000000000000000001020504040406000000000000000000010200000000000000000000000000000102000000000000000000000000000001020000000000000506000000000000010200000000000506000000000000000102000000000000000000000000000001020000000000000000000504040404010200050406000000000000000000000102000000000000000000000000000001020000000000000000000000000000010200000000000506000000090000000102000000000000000000000000000001020000000000000000000005040600010200000000000000000000000000000102000000000504060000000000000001020504040600000000000000000000010200000000000000000000000000000102000000000000000000050406000001020000000000000000000000000000010200000000000000000000000000000102000000000005040600000000000001020000000000000000000000000000010200000000000000000000000000000102000000000000000000000000000001020000000005040600000000000000010200090000000000000000000000000102000000000000000000000000000001020406000000000005060000090000010200000000000000000000000000000102000000000000000000000504040601020000000504060000000000000000010200000000000000000000000000000102000000000000000000000000000001020000000000000000000000000000010200000506000000000000000000000102000000000000050404060000000001020000000000000000000000000000010200000000000000000000000504060102050406000000000000000000000001020000000000000009000000000000010200000000000000000000000000000102000000000005040406000000000001020000000000000000000000000000010200000000000000000000000000000102000000000000000000000005060001020000090000000504040600000000010200000000000000000000000000000102000005060000000000000000000001020000000000000000000000000000010200000000000000000000000000000102000000050406000000000000000001020000000000000000000000000000010200000000000000000000000000000102000000000000050406000009000001020000000000000000000000000000010200000000000000000000050404060102000000000000000000000000000001020000000504040600000000000000010200000900000000000000000000000102000000000000000000000000000001020404060000000000050406000000010200000000000000000000000000000102000000000000000000000000000001020000000005040600000000000000010200000000000000000000090000000102000000000000000000050600000001020000000000000000000000000000010200000000000000000000000000000102000504040600000005040404060001020000000000000000000000000000010200000000000008000000000000000102030303030303030303030303030303`, img`\n2..............2\n2..............2\n2..............2\n2..............2\n22.........22222\n2......222222222\n2..............2\n2222...........2\n2..............2\n2......22......2\n2..............2\n2..............2\n2.222......22222\n2..............2\n2......22......2\n2..............2\n2..............2\n2.......2222...2\n2......22......2\n2..........22222\n2..............2\n222222.........2\n2..............2\n2........222...2\n2..............2\n2..............2\n2.....2222.....2\n2...22.........2\n2..............2\n22.........22..2\n2..............2\n2..............2\n2.22........2222\n2..22..........2\n2..............2\n2...222........2\n2..............2\n2........22....2\n2..........22..2\n222222.........2\n2..............2\n2............222\n2.........22...2\n2..............2\n2.....222......2\n2..............2\n2..........22222\n2.222...22.....2\n2..............2\n2..............2\n2......222.....2\n2..............2\n2..............2\n2.........22...2\n2..............2\n2222...........2\n2......222.....2\n2..............2\n2..........22222\n2...22.........2\n2..............2\n2..............2\n2..22..........2\n2...22.........2\n2....2222......2\n2..............2\n2222......22...2\n2..............2\n2..............2\n2.....22...22222\n2..............2\n2..............2\n2..2222222.....2\n2..............2\n2..........22..2\n2..............2\n2..............2\n2.............22\n2.....2222.....2\n2..............2\n2...........22.2\n2.222..........2\n2..............2\n2.......22.....2\n2..............2\n2..............2\n2.......22222..2\n2..............2\n222222.........2\n2..............2\n2..............2\n2......22......2\n2.....22.......2\n2..............2\n2.........222222\n2.222..........2\n2..............2\n2..............2\n2.....22.......2\n2..............2\n2..........222.2\n2..............2\n2....222.......2\n22222..........2\n2..............2\n2.........222..2\n2..............2\n2..............2\n2.....222......2\n2..............2\n2..............2\n2..............2\n2....222.......2\n2..............2\n2..............2\n222.....22.....2\n2..............2\n2..........22222\n2...222........2\n2..............2\n2..............2\n2..............2\n2..22..........2\n2......2222....2\n2..............2\n2...........2222\n2222...........2\n2..............2\n2..............2\n2.....2222.....2\n2..............2\n2..............2\n2...........22.2\n2......2222....2\n2..............2\n2..22..........2\n2..............2\n2..............2\n2...222........2\n2..............2\n2..............2\n2......222.....2\n2..............2\n2..........22222\n2..............2\n2...2222.......2\n2..............2\n2..............2\n2222.....222...2\n2..............2\n2..............2\n2....222.......2\n2..............2\n2.........22...2\n2..............2\n2..............2\n2.2222...22222.2\n2..............2\n2..............2\n2222222222222222\n`, [myTiles.transparency16,sprites.skillmap.islandTile3,sprites.skillmap.islandTile5,sprites.skillmap.islandTile1,sprites.castle.tilePath2,sprites.castle.tilePath1,sprites.castle.tilePath3,sprites.swamp.swampTile16,myTiles.tile1,myTiles.tile2], TileScale.Sixteen);\n }\n return null;\n })\n\n helpers._registerFactory(\"tile\", function(name: string) {\n switch(helpers.stringTrim(name)) {\n case \"transparency16\":return transparency16;\n case \"start\":\n case \"tile1\":return tile1;\n case \"cage\":\n case \"tile2\":return tile2;\n }\n return null;\n })\n\n}\n// Auto-generated code. Do not edit.\n"
210
+ }
211
+ ```
212
+
213
+
214
+
@@ -0,0 +1,61 @@
1
+ # Turkey Day!
2
+ * name: Turkey Day!
3
+ * description: It's time to break out! Help your turkey free all of its friends and climb to freedom in this fast-paced vertical platformer.
4
+ * infoUrl: skillmap/educator-info/turkey-map-info
5
+ * backgroundurl: static/skillmap/backgrounds/turkey-comp.png
6
+ * bannerurl: /static/skillmap/turkey/turkey2.gif
7
+ * primarycolor: #e77038
8
+ * secondarycolor: #fdf60c
9
+ * tertiarycolor: #77dc52
10
+ * strokecolor: #ffffff
11
+ * highlightcolor: #ffffff
12
+ * completednodecolor: #3b3738
13
+
14
+ ## Turkey
15
+ * name: Turkey Day
16
+ * layout: manual
17
+
18
+ ### turkey1
19
+ * name: Move the Turkey
20
+ * type: tutorial
21
+ * description: Create a turkey and help it move around the tilemap!
22
+ * url: /skillmap/turkey/turkey1
23
+ * tags: easy, sprites, tiles
24
+ * imageUrl: /static/skillmap/turkey/turkey1.gif
25
+ * next: turkey2
26
+ * position: 0 -1
27
+
28
+ ### turkey2
29
+ * name: Gather a Crowd
30
+ * type: tutorial
31
+ * description: Write the code that lets your turkey free its friends from their cages. But watch out! You're sure to gather a crowd.
32
+ * url: /skillmap/turkey/turkey2
33
+ * tags: easy, tiles, events
34
+ * imageUrl: /static/skillmap/turkey/turkey2.gif
35
+ * next: turkey3
36
+ * position: 1 -1
37
+
38
+ ### turkey3
39
+ * name: Win or Lose
40
+ * type: tutorial
41
+ * description: Set a timer and challenge yourself to free the turkeys and fly the coop as quickly as possible!
42
+ * url: /skillmap/turkey/turkey3
43
+ * tags: easy, overlap, timer
44
+ * imageUrl: /static/skillmap/turkey/turkey3.gif
45
+ * next: turkey-finish
46
+ * position: 2 0
47
+
48
+
49
+ ### turkey-finish
50
+ * kind: completion
51
+ * type: certificate
52
+ * url: /static/skillmap/certificates/turkey-cert.pdf
53
+ * imageUrl: /static/skillmap/certificates/turkey-cert.png
54
+ * position: 3 0
55
+ * actions:
56
+ * map: [Try Space Explorer](/skillmap/space)
57
+ * editor: [Edit Your Project with a Full Toolbox](/)
58
+ * rewards:
59
+ * certificate: /static/skillmap/certificates/turkey-cert.pdf
60
+ * completion-badge: /static/badges/badge-turkey.png
61
+
@@ -13,6 +13,7 @@
13
13
 
14
14
  ## zookeeper
15
15
  * name: Zookeeper Certification
16
+ * layout: manual
16
17
 
17
18
  ### zoo-activity1
18
19
  * allowcodecarryover: false
@@ -23,6 +24,7 @@
23
24
  * url: /skillmap/zoo/zoo1
24
25
  * imageurl: /static/skillmap/zoo/zoo1.gif
25
26
  * tags: easy, sprite edit, controller, camera
27
+ * position: 0 0
26
28
 
27
29
  ### zoo-activity2
28
30
  * allowcodecarryover: false
@@ -33,6 +35,7 @@
33
35
  * imageurl: /static/skillmap/zoo/zoo2.gif
34
36
  * tags: easy, movement, random
35
37
  * next: zoo-activity3
38
+ * position: 1 0
36
39
 
37
40
  ### zoo-activity2-2
38
41
  * allowcodecarryover: false
@@ -43,6 +46,8 @@
43
46
  * imageurl: /static/skillmap/zoo/zoo2a.gif
44
47
  * tags: easy, movement, random
45
48
  * next: zoo-activity3
49
+ * position: 1 1
50
+ * edges: 2 1, 2 0
46
51
 
47
52
  ### zoo-activity3
48
53
  * allowcodecarryover: false
@@ -53,6 +58,7 @@
53
58
  * imageurl: /static/skillmap/zoo/zoo3.gif
54
59
  * tags: easy, positioning, debugging
55
60
  * next: zoo-activity4
61
+ * position: 2 0
56
62
 
57
63
  ### zoo-activity4
58
64
  * allowcodecarryover: false
@@ -63,6 +69,7 @@
63
69
  * imageurl: /static/skillmap/zoo/zoo4.gif
64
70
  * tags: easy, overlaps, events
65
71
  * next: zoo-activity5
72
+ * position: 3 0
66
73
 
67
74
  ### zoo-activity5
68
75
  * allowcodecarryover: false
@@ -73,6 +80,7 @@
73
80
  * imageurl: /static/skillmap/zoo/zoo5.gif
74
81
  * tags: intermediate, overlaps, destroy
75
82
  * next: zoo-complete
83
+ * position: 4 0
76
84
 
77
85
  ### zoo-complete
78
86
  * allowcodecarryover: false
@@ -81,3 +89,10 @@
81
89
  * type: certificate
82
90
  * url: /static/skillmap/certificates/zookeeper-license.pdf
83
91
  * imageurl: /static/skillmap/zoo/zookeeper-license.png
92
+ * position: 5 0
93
+ * actions:
94
+ * map: [Try Beginner Skillmap](/skillmap/beginner)
95
+ * editor: [Edit Your Project with a Full Toolbox](/)
96
+ * rewards:
97
+ * certificate: /static/skillmap/certificates/zookeeper-license.pdf
98
+ * completion-badge: /static/badges/badge-zoo.png
@@ -0,0 +1,43 @@
1
+ # Next-Level Skillmaps
2
+
3
+
4
+ ## Continue the Journey
5
+
6
+ ```codecard
7
+ [
8
+ {
9
+ "name": "Create a Space Adventure",
10
+ "cardType": "link",
11
+ "description": "Make a Galaga-style game by creating a rocket that fires at enemies. Design your outerspace view, create amazing animations, and MORE!",
12
+ "imageUrl": "/static/skillmap/backgrounds/space.png",
13
+ "url": "https://arcade.makecode.com/--skillmap#space",
14
+ "directOpen": true
15
+ },
16
+ {
17
+ "name": "Jungle Monkey Jump Platformer",
18
+ "cardType": "link",
19
+ "description": "Code your monkey, add magic platforms, toss explosives, and collect valuables through customizable level maps.",
20
+ "imageUrl": "/static/skillmap/backgrounds/jungle-map.png",
21
+ "url": "https://arcade.makecode.com/--skillmap#jungle",
22
+ "directOpen": true
23
+ },
24
+ {
25
+ "name": "Shark Attack",
26
+ "cardType": "link",
27
+ "description": "The deep sea is a fascinating place! This skillmap will guide you through the ocean as a shark on a journey to find food!",
28
+ "imageUrl": "/static/skillmap/backgrounds/shark-map.png",
29
+ "url": "https://arcade.makecode.com/--skillmap#shark",
30
+ "directOpen": true
31
+ },
32
+ {
33
+ "name": "Game Maker Guide",
34
+ "cardType": "link",
35
+ "description": "Level up your game making skills by following this series of tutorials!",
36
+ "imageUrl": "/static/tutorials/game-maker-guide.png",
37
+ "url": "https://arcade.makecode.com/skillmap",
38
+ "directOpen": true
39
+ }
40
+ ]
41
+ ```
42
+
43
+
package/docs/skillmaps.md CHANGED
@@ -16,13 +16,13 @@
16
16
  "directOpen": true
17
17
  },
18
18
  {
19
- "name": "Create a Space Adventure",
19
+ "name": "Shark Attack",
20
20
  "cardType": "link",
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",
21
+ "description": "The deep sea is a fascinating place! This skillmap will guide you through the ocean as a shark on a journey to find food!",
22
+ "imageUrl": "/static/skillmap/backgrounds/shark-map.png",
23
+ "url": "https://arcade.makecode.com/--skillmap#shark",
24
24
  "directOpen": true
25
- },
25
+ },
26
26
  {
27
27
  "name": "Jungle Monkey Jump Platformer",
28
28
  "cardType": "link",
@@ -31,6 +31,14 @@
31
31
  "url": "https://arcade.makecode.com/--skillmap#jungle",
32
32
  "directOpen": true
33
33
  },
34
+ {
35
+ "name": "Create a Space Adventure",
36
+ "cardType": "link",
37
+ "description": "Make a Galaga-style game by creating a rocket that fires at enemies. Design your outerspace view, create amazing animations, and MORE!",
38
+ "imageUrl": "/static/skillmap/backgrounds/space.png",
39
+ "url": "https://arcade.makecode.com/--skillmap#space",
40
+ "directOpen": true
41
+ },
34
42
  {
35
43
  "name": "80s Rockstar Maze",
36
44
  "cardType": "link",
@@ -38,7 +46,7 @@
38
46
  "imageUrl": "/static/skillmap/backgrounds/rockstar-card.gif",
39
47
  "url": "https://arcade.makecode.com/--skillmap#rockstar",
40
48
  "directOpen": true
41
- },
49
+ },
42
50
  {
43
51
  "name": "A Zookeeper's Adventure",
44
52
  "cardType": "link",
@@ -1,3 +1,3 @@
1
1
  {
2
- "appref": "v1.6"
2
+ "appref": "v1.7"
3
3
  }
Binary file
package/docs/tutorials.md CHANGED
@@ -143,6 +143,14 @@
143
143
  "imageUrl": "/static/tutorials/maze.png",
144
144
  "largeImageUrl": "/static/tutorials/maze.gif",
145
145
  "videoUrl": "/static/tutorials/maze.mp4"
146
+ }, {
147
+ "name": "Side Scroller",
148
+ "description": "Make a side-scrolling car racing game to jump over obstacles and win the race.",
149
+ "url": "/recipes/side-scroller/01-background",
150
+ "cardType": "tutorial",
151
+ "imageUrl": "/static/recipes/side-scroller/car-race.png",
152
+ "largeImageUrl": "/static/recipes/side-scroller/car-race.gif",
153
+ "videoUrl": "/static/recipes/side-scroller/car-race.mp4"
146
154
  }
147
155
  ]
148
156
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pxt-arcade",
3
- "version": "1.7.13",
3
+ "version": "1.8.3",
4
4
  "description": "Small arcade editor for MakeCode",
5
5
  "keywords": [
6
6
  "JavaScript",
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "pxt-common-packages": "9.3.12",
36
- "pxt-core": "7.3.15"
36
+ "pxt-core": "7.3.10"
37
37
  },
38
38
  "optionalDependencies": {
39
39
  "pxt-arcade-sim": "microsoft/pxt-arcade-sim.git#v0.8.7"
package/targetconfig.json CHANGED
@@ -64,13 +64,13 @@
64
64
  "jungle": "docs:/skillmap/jungle",
65
65
  "racer": "docs:/skillmap/racer",
66
66
  "rockstar": "docs:/skillmap/rockstar",
67
- "forest": "docs:/skillmap/forest"
67
+ "forest": "docs:/skillmap/forest",
68
+ "turkey": "docs:/skillmap/turkey"
68
69
  }
69
70
  },
70
71
  "galleries": {
71
72
  "Skillmaps": "skillmaps",
72
73
  "Tutorials": "tutorials",
73
- "Multipart Tutorials": "multipart-tutorials",
74
74
  "Live Coding": "live-coding",
75
75
  "Blocks Games": "blocks-games",
76
76
  "JavaScript Games": "javascript-games",