pxt-arcade 1.12.13 → 1.12.16

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.
@@ -0,0 +1,346 @@
1
+ # Time Flies
2
+
3
+ ## {Introduction @unplugged}
4
+
5
+ Are you ready to make a quick, fun game that uses a timer?
6
+
7
+ Let's get to it!
8
+
9
+ ![Animated picture of a frog trying to catch a fly](/static/tutorials/froggy/frog.gif "Can you help the frog catch the fly?" )
10
+
11
+
12
+ ## 2. Add Background
13
+
14
+ **🐸 Before you add a frog, it's going to need a place to sit**
15
+
16
+ ---
17
+
18
+ - :tree: From the ``||scene:Scene||`` category, grab
19
+ ``||scene: set background image to [ ]||``
20
+ and snap it into the
21
+ ``||loops:on start||`` container already in the workspace.
22
+
23
+ - :paint brush: Click the grey box in the new block to open the **image editor**.
24
+
25
+ _💡 You can draw a background or you can switch over to the **My Assets** tab at the top and choose one that has already been created._
26
+
27
+ - :mouse pointer: Click **Next** when you're ready for the next instruction.
28
+
29
+
30
+ ```blocks
31
+ //@highlight
32
+ scene.setBackgroundImage(assets.image`Background`)
33
+ ```
34
+
35
+ ## 3. Add a Sprite
36
+
37
+ **Time for a hero!**
38
+
39
+ ---
40
+
41
+ - :paper plane: From ``||sprites:Sprites||``, drag
42
+ ``||variables:set [mySprite] to sprite [ ] of kind [Player]||``
43
+ into **the end** of the
44
+ ``||loops:on start||`` container.
45
+
46
+ - :paint brush: Click the grey box in the new block to open the **image editor**.
47
+
48
+ _💡 Switch over to **My Assets** to choose the same frog we use, or draw one of your own!_
49
+
50
+
51
+ ```blocks
52
+ let mySprite: Sprite = null
53
+ scene.setBackgroundImage(assets.image`Background`)
54
+ //@highlight
55
+ mySprite = sprites.create(assets.image`Hero`, SpriteKind.Player)
56
+ ```
57
+
58
+ ## 4. Try It
59
+
60
+ **Try your game in the Game Window (Bottom Right)**
61
+ ![Go to the Game Window in the editor.](/static/skillmap/assets/game-win-tab.png "Don't forget to look at your game!")
62
+
63
+ ---
64
+
65
+ Is your frog sitting where you want it? If not, you can fix it in the next step.
66
+
67
+
68
+ ## 5. Set Position
69
+
70
+ - :paper plane: If you don't like where your hero has ended up, snap a
71
+ ``||sprites:set [mySprite] position to x [0] y [0]||``
72
+ block into **the end** of the
73
+ ``||loops:on start||`` container.
74
+
75
+
76
+ - :mouse pointer: Play with the **x** (horizontal) and/or **y** (vertical) positions until your sprite appears where you want it.
77
+
78
+ ```blocks
79
+ let mySprite: Sprite = null
80
+ scene.setBackgroundImage(assets.image`Background`)
81
+ mySprite = sprites.create(assets.image`Hero`, SpriteKind.Player)
82
+ //@highlight
83
+ mySprite.setPosition(85, 80)
84
+ ```
85
+
86
+ ## 6. Add a Fly
87
+
88
+ **😋 It's snack time**
89
+ The frog needs something to eat.
90
+
91
+ ---
92
+
93
+ - :paper plane: Snap a new
94
+ ``||variables(sprites):set [mySprite2] to sprite [ ] of kind [Player]||``
95
+ block into **the end** of the
96
+ ``||loops:on start||`` container.
97
+
98
+ - :paper plane: Click the grey box in the new block to open the image editor and draw a flying insect.
99
+
100
+ _💡 Or switch over to the **My Assets** tab at the top and choose a fly that has already been created._
101
+
102
+ - :mouse pointer: Switch the **kind** of the fly by clicking on **Player** and selecting **Food**.
103
+
104
+
105
+ ```blocks
106
+ let mySprite: Sprite = null
107
+ let mySprite2: Sprite = null
108
+ scene.setBackgroundImage(assets.image`Background`)
109
+ mySprite = sprites.create(assets.image`Hero`, SpriteKind.Player)
110
+ mySprite.setPosition(85, 80)
111
+ //@highlight
112
+ mySprite2 = sprites.create(assets.image`Bouncer`, SpriteKind.Food)
113
+ ```
114
+
115
+
116
+ ## 7. Get It Moving
117
+
118
+ **😴 There's no challenge if the fly just sits there**
119
+
120
+ ---
121
+
122
+ - :paper plane: To get the fly moving, snap a
123
+ ``||sprites:set [mySprite] velocity to vx [50] vy [50]||``
124
+ into the **the end** of the
125
+ ``||loops:on start||`` container.
126
+
127
+ - :mouse pointer: To make sure it's the fly that's moving, change **mySprite** to **mySprite2** using the dropdown menu.
128
+
129
+ - :mouse pointer: Add some excitement by choosing larger numbers for both velocity directions (**vx** and **vy**).
130
+
131
+ _💡 Anything between 100 and 200 is entertaining._
132
+
133
+
134
+ ```blocks
135
+ let mySprite: Sprite = null
136
+ let mySprite2: Sprite = null
137
+ scene.setBackgroundImage(assets.image`Background`)
138
+ mySprite = sprites.create(assets.image`Hero`, SpriteKind.Player)
139
+ mySprite.setPosition(85, 80)
140
+ mySprite2 = sprites.create(assets.image`Bouncer`, SpriteKind.Food)
141
+ //@highlight
142
+ mySprite2.setVelocity(200, 100)
143
+ ```
144
+
145
+
146
+
147
+ ## 8. Try It
148
+
149
+ **👀 Try your game in the simulator**
150
+
151
+ ---
152
+
153
+ Does it do what you expected? Did the fly leave the screen too fast for you to see?
154
+
155
+
156
+
157
+ ## 9. Bounce
158
+
159
+ **🕐 That didn't last long**
160
+
161
+ To give the frog a fighting chance, we'll want to keep the fly on screen.
162
+
163
+ ---
164
+
165
+ - :paper plane: From ``||sprites:Sprites||``, grab a
166
+ ``||sprites:set [mySprite] bounce on wall <on>||``
167
+ block and snap it into the **the end** of the
168
+ ``||loops:on start||`` container.
169
+
170
+
171
+ - :mouse pointer: Change **mySprite** to **mySprite2** to make sure the block changes the behavior of the fly.
172
+
173
+
174
+ ```blocks
175
+ let mySprite: Sprite = null
176
+ let mySprite2: Sprite = null
177
+ scene.setBackgroundImage(assets.image`Background`)
178
+ mySprite = sprites.create(assets.image`Hero`, SpriteKind.Player)
179
+ mySprite.setPosition(85, 80)
180
+ mySprite2 = sprites.create(assets.image`Bouncer`, SpriteKind.Food)
181
+ mySprite2.setVelocity(200, 100)
182
+ //@highlight
183
+ mySprite2.setBounceOnWall(true)
184
+ ```
185
+
186
+
187
+ ## 10. Press the Button
188
+
189
+ **We want to press the button to catch the fly!**
190
+
191
+ ---
192
+
193
+ - :game: From ``||controller:Controller||``, drag
194
+ ``||controller:on [A] button [pressed]||``
195
+ out into an empty spot in the workspace.
196
+
197
+ - :random: Inside the new container, drop a
198
+ ``||logic:if <true> then / else||``
199
+ block (from the ``||logic:Logic||`` category).
200
+
201
+
202
+ ```blocks
203
+ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
204
+ if (true) {
205
+ } else {
206
+ }
207
+ })
208
+ ```
209
+
210
+ ## 11. Get It?
211
+
212
+ - :paper plane: From ``||sprites:Sprites||``, grab
213
+ ``||sprites:<[mySprite] overlaps with [otherSprite]>||``
214
+ and drop it in to replace **`<true>`** in the
215
+ ``||logic:if <true> then / else||`` block.
216
+
217
+ - :mouse pointer: Change **otherSprite** to **mySprite2** using the dropdown menu.
218
+
219
+
220
+ ```blocks
221
+ let mySprite: Sprite = null
222
+ let mySprite2: Sprite = null
223
+ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
224
+ if (mySprite.overlapsWith(mySprite2)) {
225
+ } else {
226
+ }
227
+ })
228
+ ```
229
+
230
+
231
+ ## 12. Check for Flies
232
+
233
+ When we press the Ⓐ button, one of two things could be happening:
234
+ - The fly will be overlapping the frog and we win the game with a snack
235
+ - The fly will not be overlapping the frog and our player will lose a life
236
+
237
+ ---
238
+
239
+ - :circle: To create the first case, drag
240
+ ``||game:game over <lose>||``
241
+ into the top (**if**) section of the
242
+ ``||logic:if <true> then / else||``
243
+ block and toggle **`<lose>`** to **`<win>`**.
244
+
245
+ - :id card: For the second case, drag
246
+ ``||info:change life by -1||``
247
+ into the bottom (**else**) section of the
248
+ ``||logic:if <true> then / else||`` block.
249
+
250
+
251
+ ```blocks
252
+ let mySprite: Sprite = null
253
+ let mySprite2: Sprite = null
254
+ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
255
+ if (mySprite.overlapsWith(mySprite2)) {
256
+ game.over(true)
257
+ } else {
258
+ info.changeLifeBy(-1)
259
+ }
260
+ })
261
+ ```
262
+
263
+
264
+ ## {Step 12}
265
+
266
+ **👀 Try your game in the simulator**
267
+
268
+ ---
269
+
270
+ How is it shaping up? Do you lose a life if the fly isn't over the frog when you press (A)? Do you win the game if it is?
271
+
272
+
273
+
274
+ ## {Step 11}
275
+
276
+ **⌚ Don't be late**
277
+
278
+ Add a sense of urgency by including a countdown timer.
279
+
280
+ ---
281
+
282
+ - :id card: From ``||info:Info||``, grab
283
+ ``||info:start countown [10]s||``
284
+ and drag it to the end of the
285
+ ``||loops:on start||`` container.
286
+
287
+ Now you have exactly 10 seconds to catch the fly before the game ends!
288
+
289
+
290
+ ## {Step 11}
291
+
292
+ **🎉 Congratulations**
293
+
294
+ ---
295
+
296
+ Now you have a game that tests your timing and is enforced by a timer!
297
+
298
+ Click **Done** if you're ready to publish your game and share with friends, or
299
+ look at the challenges below for suggestions on modding your game.
300
+
301
+ ---
302
+
303
+ - :question: Try adding a block to change the number of lives you start with.
304
+
305
+ - :question: Instead of only one fly, start with three and have one disappear each time you lose a life.
306
+
307
+ - :question: Change the theme so that instead of a frog catching flies, it's something entirely different!
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+ ```ghost
317
+ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
318
+ if (mySprite.overlapsWith(mySprite2)) {
319
+ game.over(true)
320
+ } else {
321
+ info.changeLifeBy(-1)
322
+ }
323
+ })
324
+ let mySprite: Sprite = null
325
+ let mySprite2: Sprite = null
326
+ scene.setBackgroundImage(assets.image`Background`)
327
+ mySprite = sprites.create(assets.image`Hero`, SpriteKind.Player)
328
+ mySprite.setPosition(85, 80)
329
+ info.startCountdown(10)
330
+ info.setLife(3)
331
+ mySprite2 = sprites.create(assets.image`Bouncer`, SpriteKind.Food)
332
+ mySprite2.setVelocity(200, 100)
333
+ mySprite2.setBounceOnWall(true)
334
+ ```
335
+
336
+ ```assetjson
337
+ {
338
+ "README.md": " ",
339
+ "assets.json": "",
340
+ "images.g.jres": "{\n \"image2\": {\n \"data\": \"hwQKAAsAAAAAAP8PAAAAAADw//8AAAAAEAD/DxAAAAAB8f//AQEAABAf/x8fAAAAAfH//wEBAAAQH/8fHwAAAAHx//8BAQAAEAD/DxAAAAAAAPAAAAAAAA==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Bouncer\"\n },\n \"image3\": {\n \"data\": \"hwQcABwAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAyAwAAAAAAAAAAAAAAAAAgMjMAAAAAAAAAAAAAICIiHjIzAAAAAAAAAAAAABYd3d3yMwAAAAAAAAAAACAiIiIh8fMAAAAAACAiAgAWHd3d3jIzAAAAACAeNeNgHV3d3d3x8wAAACIeDOH3Vh3d4h4eMjMAACAdXczh914d4fdjY3HzAAAWId4d4fdeHfX3d3dyMwAAHiHf3fY3Xh33d3d3c3MAAB4d3eH3d14193d3d3NzAAAgHd3h93deNfd3d3dzcwAAIB3d4fd3XjX3d3d3c3MAABYd3eH3d14193d3d3NzAAAeId4d9jdeHfd3d3dzcwAAHiHf3eH3Xh3193d3cjMAACAd3czh914d4fdjY3HzAAAAIh4M4fdWHd3iHh4yMwAAAAAgHjXjYB1d3d3d8fMAAAAAACIiAgAWHd3d3jIzAAAAAAAAAAAAICIiIiHx8wAAAAAAAAAAAAAWHd3d8jMAAAAAAAAAAAAAICIiHjIzAAAAAAAAAAAAAAAAACAyMwAAAAAAAAAAAAAAAAAAMgMAAAAAAAAAAAAAAAAAADAAAAA\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Hero\"\n },\n \"[GbUocpt^e@h97~~1|{K\": {\n \"data\": \"hwSgAHgAAACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZeWZmZru7u7u7u7u7Ztbd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWZmZru7u7u7u7u7a2bd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmtru7u7u7u7u7a2bd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlntru7u7u7u7u7a2bd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZubu7u7u7u7u7a2bd3d2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2bX3X2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2Z33ZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2Z3d5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2Z3mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZtru7u7u7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZl5l5mZZma7u7u7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmdndfZeZmXlmu7u7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZtnuZmZmZmZmZmd3d3XeZmZl5Zra7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlmd8Z8mZmZmZmZ2d3d3X2XmZmZaba7u7u7a2aZmZmZmWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZnfMnJmZmZmZ3d3d3d13mZmZabu7u7u7a2aZmZmZaWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWZmZnbHzJmZmZmZ3d3d3d13mZmZabu7u7u7a2aZmZmZZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZaWZmZmZ3zJyZmZnZ3d3d3d19l5mZtru7u7u7a2aZmZlpZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZmZmZmZ2xnyZmZnZ3d3d3d19l5mZtru7u7u7ZnaZmZlmZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZmZmZmZ2Z8yZmZnd3d3d3d19l5lpu7u7u7u7ZpaZmZlmZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZa2ZmZmZmZ8yXmZnd3d3d3d19l5lpu7u7u7u7ZpaZmZlrZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZ2ZmZmZmZsycmZnd3d3d3d19l5m2u7u7u7trZpeZmZlnZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZaWZmZmZmZsx8mdnd3d3d3d19l5m2u7u7u7trZpmZmZlpZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZeWZmZmZmZsbMmdnd3d3d3d19l2m7u7u7u7tmdpmZmZl5ZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWtmZmZmZsbMmdnd3d3d3d19l2m7u7u7291mlpmZmZmZa2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZmZmZsbMmdnd3d3d3d19l7a7u7u72xHdd3eZmZmZaWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcl8mblmZmZmZsbMmdnd3d3d3d19l7a7u7u72xHRfRGXuX2ZuWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWnMl5lmZmZmZsbMmdnd3d3d3d19l9e7u7u7ax0RfRGX2b2XmWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmzJdnZmZmZsbMmdnd3d3X3d19l9nd3d3dZh0R3RFx3d3Ml2eZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmxsxnZmZmZsbMmdnd3d3X3d19l3nXERHR3d0R0RFx3d3GzGeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZsZsZmZmZsbMmdnd3d133d19l5nXERER0d0d0RFx3d1mxmyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZmZmZmZmZsvMmdnd3d131919l5nZHREREd0d0RFx3XdtZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZmZmZmZmu7tmdtnd3d131919l5mZ3REREdHdER1xfRfRZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZmZmZma2u7trZtbd3d19d919l5nZ3R0RERHdER3RdxHRZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZmZmZma7u7u7a2bd3d19d913mZnZ3d0dERHdHR3dFxHRZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZmZmZra7u7u7u2bW3d19d9d3md3d3d3dEd3dHR19ERFtZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmXlmZmZmZru7u7u7u2vW3d19d9d3mR0REd3dHR3d3d3dERFtZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlmZmZmZru7u7u7u2tm3d3dd3mXmR0RERHR3R0R3d0dEdFmZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlmZmZmtru7u7u7u7tm3d3dd5mZmd0RERER0d0R0d0dEW1mZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlnZmZmtru7u7u7u7tm1t3dd5mZmdndHRER0d0REd3d3d1mZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlpZmZmu7u7u7u7u7tm1t3dd5eZmdkd0R0RXVUdER3dEdFtZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZl5ZmZmu7u7u7u7u7tm1t3dfZeZmd0RERER3VUd0RHdERHRZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZmZmu7u7u7u7u7trZt3dfZeZmR0RERHRXVXV0RHRERERbWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZaWa2u7u7u7u7u7trZt3dfZeZmd3dHRHRVVVV3RHRHRER0XaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWe2u7u7u7u7u7trZt3dfZeZmR0RERERXVXV0RHR3RER0XaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm5u7u7u7u7u7trZt3d3ZeZmd0RERER3V0V0RHd3d0R0XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm7u7u7u7u7u7trZtfdfZmZmdkdERHR3VURER3d3d3dnXeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm7u7u7u7u7u7trZnfdl5mZmdndERHd3d0REd3dcZeZmXeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm7u7u7u7u7u7trZnd3mZmZmZnZ3RHR3d0R0d0dEZeZmXeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm7u7u7u7u7u7trZneZmZmZmZnZHRHR3R0R3d0dEXGZmXeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm2u7u7u7u7u7trZpmZmZmZmZndERHd3R3RHd0dEdGZmXaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlmZru7u7u7u7trZpmZmZmZmZkdEd3dEdHdHR3dERGdmWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZeWa7u7u7u7trZpmZmZmZmZnd3d0dERHdER3dERGdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmXlmtru7u7trZpmZmZmZmbZ72R0REdHdER3RFxF9mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlptru7u7trZpmZmZmZZne23REREd0d0R3RdxF9l5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlpu7u7u7trZpmZmZlpZmbXHRER0d0d0RHRfRfdd5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlpu7u7u7trZpmZmZlmZmbWERER3d0R0RHR3dfdd5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm2u7u7u7trZpmZmWlmZmbWERHd3d0R3RFx3dfdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm2u7u7u7tmdpmZmWZmZmbW3d3dmR0R3RF33dfdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWm7u7u7u7tmlpmZmWZmZmZmdmfM2RER3RHX19fdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWm7u7u7u7tmlpmZmWtmZmZmZmfM1xHR3XHXd9fdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmba7u7u7u2tml5mZmWdmZmZmZmbM3BHd3X3dfd3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmba7u7u7u2tmmZmZmWlmZmZmZmbM3NHd3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZabu7u7u7u2Z2mZmZmXlmZmZmZmbGzN3Z3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZabu7u7u7u2aWmZmZmZlrZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZtru7u7u7a2aXmZmZmZlpZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZtru7u7u7ZmaZmZnJfJm5ZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ2bu7u7trZpaZmZlpzJeZZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ2d27271mZpmZmZlpZsyXZ2ZmZmbGzJnZ3d3d193dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZedfd3WdmlpmZmZlpZsbMZ2ZmZmbGzJnZ3d3d193dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmXd3Z2ZmmZmZmZlpZmbGbGZmZmbGzJnZ3d3dd93dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlmZmaXmZmZmZlpZmZmZmZmZmbLzJnZ3d3dd9fdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlpZmZmZmZmZru7ZnbZ3d3dd9fdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlpZmZmZmZmtru7a2bW3d3dfXfdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlpZmZmZmZmu7u7u2tm3d3dfXfdd5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlpZmZmZma2u7u7u7tm1t3dfXfXd5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZl5ZmZmZma7u7u7u7tr1t3dfXfXd5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZmZmZma7u7u7u7trZt3d3Xd5l5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZmZmZra7u7u7u7u7Zt3d3XeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZ2ZmZra7u7u7u7u7Ztbd3XeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZaWZmZru7u7u7u7u7Ztbd3XeXmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZeWZmZru7u7u7u7u7Ztbd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWZmZru7u7u7u7u7a2bd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmtru7u7u7u7u7a2bd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlntru7u7u7u7u7a2bd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZubu7u7u7u7u7a2bd3d2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2bX3X2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2Z33ZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2Z3d5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2Z3mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZtru7u7u7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZl5l5mZZma7u7u7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmdndfZeZmXlmu7u7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZtnuZmZmZmZmZmd3d3XeZmZl5Zra7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlmd8Z8mZmZmZmZ2d3d3X2XmZmZaba7u7u7a2aZmZmZmWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZnfMnJmZmZmZ3d3d3d13mZmZabu7u7u7a2aZmZmZaWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWZmZnbHzJmZmZmZ3d3d3d13mZmZabu7u7u7a2aZmZmZZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZaWZmZmZ3zJyZmZnZ3d3d3d19l5mZtru7u7u7a2aZmZlpZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZmZmZmZ2xnyZmZnZ3d3d3d19l5mZtru7u7u7ZnaZmZlmZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZmZmZmZ2Z8yZmZnd3d3d3d19l5lpu7u7u7u7ZpaZmZlmZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZa2ZmZmZmZ8yXmZnd3d3d3d19l5lpu7u7u7u7ZpaZmZlrZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZ2ZmZmZmZsycmZnd3d3d3d19l5m2u7u7u7trZpeZmZlnZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZaWZmZmZmZsx8mdnd3d3d3d19l5m2u7u7u7trZpmZmZlpZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZeWZmZmZmZsbMmdnd3d3d3d19l2m7u7u7u7tmdpmZmZl5ZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWtmZmZmZsbMmdnd3d3d3d19l2m7u7u7u7tmlpmZmZmZa2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZmZmZsbMmdnd3d3d3d19l7a7u7u7u2tml5mZmZmZaWaZmZmZmZmZmZmZmZmZmZmZmZnZnZmZmcl8mblmZmZmZsbMmdnd3d3d3d19l7a7u7u7u2ZmmZmZyXyZuWaZmZmZmZmZmZmZmZmZmZmZmZkd3ZmZmWnMl5lmZmZmZsbMmdnd3d3d3d19l9e7u7u7a2aWmZmZacyXmWaZmZmZmZmZmZmZmZmZmZmZmZkd0Z3Zl2lnzJdnZmZmZsbMmdnd3d3X3d19l9ndu9u9ZmaZmZmZaWbMl2eZmZmZmZmZmZmZmZmZmZmZmZkdEd0dd3l3xsxnZmZmZsbMmdnd3d3X3d19l3nX3d1nZpaZmZmZaWbGzGeZmZmZmZmZmZmZmZmZmZmZmZkdEdEdcXl9ZsZsZmZmZsbMmdnd3d133d19l5l3d2dmZpmZmZmZaWZmxmyZmZmZmZmZmZmZmZmZmd3d3Z3ZEdEdcdd9ZmZmZmZmZrvMmdnd3d131919l5mZZmZml5mZmZmZaWZmZmaZmZmZmZmZmZmZmZmZmR0R0d3dHdEdEdd9ZmZmZmZmu7tmdtnd3d131919l5mZmZmZmZmZmZmZaWZmZmaZmZmZmZmZmZmZmZmZmR0REdHdHREdEd19bWZmZma2u7trZtbd3d19d919l5mZmZmZmZmZmZmZaWZmZmaZmZmZmZmZmZmZmZmZmd0RERHd3REdEd130WZmZma7u7u7a2bd3d19d913mZmZmZmZmZmZmZmZaWZmZmaZmZmZmZmZmZmZmZmZmdkdERHR3RHdEX0X0WZmZra7u7u7u2bW3d19d9d3mZmZmZmZmZmZmZmZaWZmZmaZmZmZmZmZmZmZmZmZmZndERER3R3REX0R0WZmZru7u7u7u2vW3d19d9d3mZmZmZmZmZmZmZmZeWZmZmaZmZmZmZmZmZmZmZmZ2d3d3RER0R3R0R0R0WZmZru7u7u7u2tm3d3dd3mXmZmZmZmZmZmZmZmZmWZmZmaZmZmZmZmZmZmZmZmZ2RHR3R0R3d3R0R0R0WZmtru7u7u7u7tm3d3dd5mZmZmZmZmZmZmZmZmZmWZmZmaZmZmZmZmZmZmZmZmZ2R0R0d3dEd3R3RERbWZmtru7u7u7u7tm1t3dd5mZmZmZmZmZmZmZmZmZmWdmZmaZmZmZmZmZmZmZmZmZmd0REd3dEdHd3RERZ2Zmu7u7u7u7u7tm1t3dd5eZmZmZmZmZmZmZmZmZmWlmZmaZmZmZmZmZmZmZmZmZmd0dEd3dHRHd3RFxZmZmu7u7u7u7u7tm1t3dfZeZmZmZmZmZmZmZmZmZmXlmZmaZmZmZmZmZmZmZmZmZ3R0R0d3dHRHR3R13ZmZmu7u7u7u7u7trZt3dfZeZmZmZmZmZmZmZmZmZmZlmZmaZmZmZmZmZmZmZmZmZ3REREd1dFRHR0d3d3d22u7u7u7u7u7trZt3dfZeZmZmZmZmZmZmZmZmZmZlpZnaZmZmZmZmZmZmZmZnZHREREdHdVREd0d3dHRG9u7u7u7u7u7trZt3dfZeZmZmZmZmZmZmZmZmZmZmZZ3aZmZmZmZmZmZmZmZnZEREREdFVVR0dEd0dERG9u7u7u7u7u7trZt3d3ZeZmZmZmZmZmZmZmZmZmZmZmXmZmZmZmZmZmZmZmZnZ3d0REV1VVdUdEd0RERG9u7u7u7u7u7trZtfdfZmZmZmZmZmZmZmZmZmZmZmZmXeZmZmZmZmZmZmZmZnZEREREd1VVR0dER0REdG7u7u7u7u7u7trZnfdl5mZmZmZmZmZmZmZmZmZmZmZmXeZmZmZmZmZmZmZmZnZHREREdFd1REd0R0REZ27u7u7u7u7u7trZnd3mZmZmZmZmZmZmZmZmZmZmZmZmXeZmZmZmZmZmZmZmZmZ3RHdEdFV1RHR0R0R3Zm7u7u7u7u7u7trZneZmZmZmZmZmZmZmZmZmZmZmZmZmXeZmZmZmZmZmZmZmZmZ3d0RERHdHRHR3d3dnZm2u7u7u7u7u7trZpmZmZmZmZmZmZmZmZmZmZmZmZmZmXaZmZmZmZmZmZmZmZnZHRERERHdHRHd3RHRmZlmZru7u7u7u7trZpmZmZmZmZmZmZmZmZmZmZmZeZeZmWaZmZmZmZmZmZmZmZnZEREREd3dEdHd3RERnZmZeWa7u7u7u7trZpmZmZmZmZmZmZmZmZmZmZnZ3X2XmZmZmZmZmZmZmZmZmZnZERHR3d3R0d3d3R0R0ZmZmXlmtru7u7trZpmZmZmZmbZ7mZmZmZmZmZnd3d13mZmZmZmZmZmZmZmZmZnZ3d3d3R3R3d3R0RcR0ZeZmZlptru7u7trZpmZmZmZZnfGfJmZmZmZmdnd3d19l5mZmZmZmZmZmZmZmZmZmd3d3RER0d3R0X0REX2ZmZlpu7u7u7trZpmZmZlpZmZ3zJyZmZmZmd3d3d3dd5mZmZmZmZmZmZmZmZmZmd3dERER0R3REX0XEX2ZmZlpu7u7u7trZpmZmZlmZmZ2x8yZmZmZmd3d3d3dd5mZmZmZmZmZmZmZmZmZmdcdERER3R3REdd3EX2XmZm2u7u7u7trZpmZmWlmZmZmd8ycmZmZ2d3d3d3dfZeZmZmZmZmZmZmZmZmZmd0RERHR3REdEdd9132XmZm2u7u7u7tmdpmZmWZmZmZmdsZ8mZmZ2d3d3d3dfZeZmZmZmZmZmZmZmZmZmR0RERHd3REdEdfd3X2XmWm7u7u7u7tmlpmZmWZmZmZmdmfMmZmZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmR0REd3dHREdEdfd3X2XmWm7u7u7u7tmlpmZmWtmZmZmZmfMl5mZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmd3d3Z3ZEdEdEdfd3X2Xmba7u7u7u2tml5mZmWdmZmZmZmbMnJmZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZnZEdEXcd3d3X2Xmba7u7u7u2tmmZmZmWlmZmZmZmbMfJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZkdEd0Xcd3d3X2Xabu7u7u7u2Z2mZmZmXlmZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZkd0d13193d3X2Xabu7u7u7u2aWmZmZmZlrZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZnd3d3d3d3d3X2Xtru7u7u7a2aXmZmZmZlpZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3d3d3X2Xtru7u7u7ZmaZmZnJfJm5ZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3d3d3X2X17u7u7trZpaZmZlpzJeZZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3dfd3X2X2d27271mZpmZmZlpZsyXZ2ZmZmbGzJnZ3d3d193dfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3dfd3X2Xedfd3WdmlpmZmZlpZsbMZ2ZmZmbGzJnZ3d3d193dfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3Xfd3X2XmXd3Z2ZmmZmZmZlpZmbGbGZmZmbGzJnZ3d3dd93dfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3XfX3X2XmZlmZmaXmZmZmZlpZmZmZmZmZma7u5nZ3d3dd9fdfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3XfX3X2XmZmZmZmZmZmZmZlpZmZmZmZmZru7ZnbZ3d3dd9fdfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3X133X2XmZmZmZmZmZmZmZlpZmZmZmZmtru7a2bW3d3dfXfdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmd3d3X133XeZmZmZmZmZmZmZmZlpZmZmZmZmu7u7u2tm3d3dfXfdd5mZmZmZmZmZmZmZmZmZmZmZmZmZmdnd3X1313eZmZmZmZmZmZmZmZlpZmZmZma2u7u7u7tm1t3dfXfXd5mZmZmZmZmZmZmZmZmZmZmZmZmZmdnd3X1313eZmZmZmZmZmZmZmZl5ZmZmZma7u7u7u7tr1t3dfXfXd5mZmZmZmZmZmZmZmZmZmZmZmZmZmZnd3d13eZeZmZmZmZmZmZmZmZmZZmZmZma7u7u7u7trZt3d3Xd5l5mZmZmZmZmZmZmZmZmZmZmZmZmZmZnZ3d13mZmZmZmZmZmZmZmZmZmZZmZmZra7u7u7u7u7Zt3d3XeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnZ3d13mZmZmZmZmZmZmZmZmZmZZ2ZmZra7u7u7u7u7Ztbd3XeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnZ3d13l5mZmZmZmZmZmZmZmZmZaWZmZru7u7u7u7u7Ztbd3XeXmZk=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Background\"\n },\n \"*\": {\n \"mimeType\": \"image/x-mkcd-f4\",\n \"dataEncoding\": \"base64\",\n \"namespace\": \"myImages\"\n }\n}",
341
+ "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 \"Bouncer\":return img`\n. . . 1 . 1 . 1 . . \n. . 1 . 1 . 1 . 1 . \n. . . 1 f 1 f 1 . . \n. f . f 1 f 1 f . . \nf f f f f f f f f . \nf f f f f f f f f f \nf f f f f f f f f . \n. f . f 1 f 1 f . . \n. . . 1 f 1 f 1 . . \n. . 1 . 1 . 1 . 1 . \n. . . 1 . 1 . 1 . . \n`;\n case \"image3\":\n case \"Hero\":return img`\n..........888..888..........\n.........8577885778.........\n........857777777778........\n........878877778878........\n........878f77778f78........\n.......87777777777778.......\n.......833777777773388......\n......8733778888773378......\n......877778dddd877778......\n......8d888dddddd888d8......\n......8dddddddddddddd8......\n.......8dddddddddddd8.......\n........888888888888........\n.......85777777777758.......\n......8577777777777758......\n.....8577777dddd7777758.....\n....8877777dddddd7777788....\n...8587778dddddddd8777858...\n...878778dddddddddd877878...\n...878778dddddddddd877878...\n...878778dddddddddd877878...\n...8787778dddddddd8777878...\n...877878dddddddddd878778...\n..87787778dddddddd87778778..\n.8888787878dddddd8787878888.\ncccccccccccccccccccccccccccc\n.cccccccccccccccccccccccccc.\n..cccccccccccccccccccccccc..\n`;\n case \"[GbUocpt^e@h97~~1|{K\":\n case \"Background\":return img`\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999ddddd99dddd99999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999ddd1d1dddd11d99999999999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999ddd99dd11d11dd111d99999999999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dddd99d1dddd111d111d111ddd7dddd9999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d11dd9d11dd1111d111d111ddddd11d9999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d111ddd111d1111111d1111dddd111d9999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d1111ddd1111111111d111dddd1111d9999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d11111dd11111111111111ddd11111d9999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dd1111ddd11d1111111111ddd11111d9999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dd11111dddddd11dd1111ddd11111dd9999999999999999999\n999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dd11111ddddddd5ddd11dd111111d99999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dddd9ddd1111dddddd555d5ddd111111dd99ddd999999999999999\n999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d1111ddddd111dddd5d55555ddddd111ddddd11d999999999999999\n999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dd1111ddddd1d11dd5555555dd11d11dddd1111d999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dd11111ddddd111115555dd111ddddddd1111dddddddddd9999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dd111111dddd11111d5d11111ddddd11111dddddddddddd999999\n999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dddd11111ddd11111d11111dddd11111dddddddddddddddd9999\n999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999ddddddd1111dd11ddddd11ddd1111dddd777ddddddddddddd999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d111111ddddddddd11111ddddddddd1111117dddddddddddddddd\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999977111111111dddd1111111dddd11111111117dddddddddddddddd\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999977711111dddddddd111dddddddd11111177ddddddddddddddddd\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999977dddddd111ddddddddd11d7dd77777dddddd77777dddddddd\n9999999999999999999999999c6666666667999999999999999999999999999999999999999999999999999999999999999999999c6677dddd77111111dddd111d111177ddddddddddddd7777777dddd\n9999999999999999999999999cc666666666667999999999999999999999999999999999999999999999999999999999999999999cc77dddd771111117ddd1111d1111177ddddddddddddd7777777777\n99999999999999999999999997c6666666666666799999999999999999999999999999999999999999999999999999999999999997c677777711111177dd11111dd1111177dddddddddddddd77777777\n9999999999999999966b7999997c66666666666666999999999999999999999999999999999999999999999999999999966b7999997c6666d11111d766dd1111dd9d111117dddddddddddddddd779997\n999999999999999966666679999cc666666666666669999999999999999999999999999999999999999999999999999966666679999cc6666ddddd6666d11111d999dd111ddddddddddddddddddd7999\n99999999999999966666666b9997c66666666666666799999999999999999999999999999999999999999999999999966666666b9997c6666666666666d1111d999997ddddddddddddddddddd7777999\n9999999999999966666666666b99cc666666666666669999999999999999999999999999999999999999999999999966666666666b99cc666666666666d111d999999977777777777777777777779999\n99999999999996666666666666677c666666666666669bbbb669999999999999999999999999999999999999999996666666666666677c6666666666666dddbbb6699999777777777777777779999999\n999999999999966666666666666666666666666666bbbbbbbb699999999999999999999999999999999999999999966666666666666666666666666666bbbbbbbb699999999999999999999999999999\n999999999999676666666666666666666666666bbbbbbbbbbb699999999999996699999999999999999999999999676666666666666666666666666bbbbbbbbbbb699999999999996679999999999999\n999999999999b766666666666666666666666bbbbbbbbbbbbb67999999999966bbdd799999999999999999999999b766666666666666666666666bbbbbbbbbbbbb67999999999966bbdd799999999999\n999999999999b6766666666666666666666bbbbbbbbbbbbbbbb69999999966bbbbbd779999999999999999999999b6766666666666666666666bbbbbbbbbbbbbbbb69999999966bbbbbd779999999999\n9999999999997c77666666666666666666bbbbbbbbbbbbbbbbb679999966bbbbbbbdd799999999999999999999997c77666666666666666666bbbbbbbbbbbbbbbbb679999966bbbbbbbdd79999999999\n9999999999999cc776666666666666666bbbbbbbbbbbbbbbbbbb699966bbbbbbbbbbd769999999999999999999999cc776666666666666666bbbbbbbbbbbbbbbbbbb699966bbbbbbbbbbd76999999999\n99999999999997cc7776666666666666bbbbbbbbbbbbbbbbbbbb6666bbbbbbbbbbbbd7699999999999999999999997cc7776666666666666bbbbbbbbbbbbbbbbbbbb6666bbbbbbbbbbbbd76999999999\n99999999999999ccc67766666666666bbbbbbbbbbbbbbbbbbbbb66bbbbbbbbbbbbbbd7699999999999999999999999ccc67766666666666bbbbbbbbbbbbbbbbbbbbb66bbbbbbbbbbbbbbd76999999999\n999999999999999ccc6666666666666bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdd66999999999999999999999999ccc6666666666666bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdd66999999999\n9999999999999999cccccc66666666bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbd7669999999999999999999999999cccccc66666666bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbd766999999999\n999999999999999997cccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666999999999999999999999999997ccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666999999999\n99999999999999999997ccccccccccc6bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666799999999999999999999999999997ccccccccccc6bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb6667999999999\n9999999999999999999997ccccccccc66bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666699999999999999999999999999999997ccccccccc66bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb66669999999999\n999999999999999999999999999999966bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666699999999999999999999999999999999999999999966bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666699999999999\n9999999999999999999999999999999766bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb66669999999999999999999999999999999999999999999766bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb6666999999999999\n99999999999999999999999999999999666bbbbbbbbbbbbbbbbbbbbbbbbbbb66666999999999999999999999999999999999999999999999666bbbbbbbbbbbbbbbbbbbbbbbbbbb666669999999999999\n999999999999999999999dddddddddddd6666bbbbbbbbbbbbbbbbbbbbbbb66666699999999999999999999999999999999999dddddddddddd6666bbbbbbbbbbbbbbbbbbbbbbb66666699999999999999\n999999999999999999dddddddddddddddd6666666bbbbbbbbbbbbbbbb66666667999999999999999999999999999999999dddddddddddddddd6666666bbbbbbbbbbbbbbbb66666667999999999999999\n9999999999999999dddddddddddddddddddd666666666666666666666666667999999999999999999999999999999999dddddddddddddddddddd66666666666666666666666666799999999999999999\n99999999999999dddddddddddddddddddddddd66666666666666666666667999999999999999999999999999999999dddddddddddddddddddddddd666666666666666666666679999999999999999999\n9999999999999dddddddddddddddddddddddddddd6666666666666666799999999999999999999999999999999999dddddddddddddddddddddddddddd666666666666666679999999999999999999999\n999999999999ddddddddddddddddddddddddddddddddd77779999999999999999999999999999999999999999999ddddddddddddddddddddddddddddddddd77779999999999999999999999999999999\n99999999999ddddddddddddddddddddddddddddddddddd777999999999999999999999999999999999999999999ddddddddddddddddddddddddddddddddddd7779999999999999999999999999999999\n99999999999dddddddddddddddd77777ddddddddddddddd79999999999999999999999999999999999999999999dddddddddddddddd77777ddddddddddddddd799999999999999999999999999999999\n99999999997dddddddddddddddddd7777777ddddddddddd799999999999999999c6666666667999999999999997dddddddddddddddddd7777777ddddddddddd799999999999999999c66666666679999\n99999999997ddddddddddddddddddd7777777777dddddd7999999999999999999cc666666666667999999999997ddddddddddddddddddd7777777777dddddd7999999999999999999cc6666666666679\n799999999997dddddddddddddddddddd777777777777d799999999999999999997c6666666666666799999999997dddddddddddddddddddd777777777777d799999999999999999997c6666666666666\n6699999999977ddddddddddddddddddddd7799977777799999999999966b7999997c6666666666666699999999977ddddddddddddddddddddd7799977777799999999999966b7999997c666666666666\n66699999999977dddddddddddddddddddddd7999999999999999999966666679999cc6666666666666699999999977dddddddddddddddddddddd7999999999999999999966666679999cc66666666666\n6667999999999777ddddddddddddddddd777799999999999999999966666666b9997c666666666666667999999999777ddddddddddddddddd777799999999999999999966666666b9997c66666666666\n66669999999999777777777777777777777799999999999999999966666666666b99cc666666666666669999999999777777777777777777777799999999999999999966666666666b99cc6666666666\n66669bbbb669999977777777777777777999999999999999999996666666666666677c666666666666669bbbb669999977777777777777777999999999999999999996666666666666677c6666666666\n66bbbbbbbb699999999999999999999999999999999999999999966666666666666666666666666666bbbbbbbb6999999999999999999999999999999999999999999666666666666666666666666666\nbbbbbbbbbb699999999999996679999999dddd99ddddd9999999676666666666666666666666666bbbbbbbbbbb699999999999996679999999999999999999999999676666666666666666666666666b\nbbbbbbbbbb67999999999966bbdd799999d11dddd1d1ddd99999b766666666666666666666666bbbbbbbbbbbbb67999999999966bbdd799999999999999999999999b766666666666666666666666bbb\nbbbbbbbbbbb69999999966bbbbbd779999d111dd11d11dd99dddb6766666666666666666666bbbbbbbbbbbbbbbb69999999966bbbbbd779999999999999999999999b6766666666666666666666bbbbb\nbbbbbbbbbbb679999966bbbbbbbdddd9ddd111d111d111dddd1d7bdddd6666666666666666bbbbbbbbbbbbbbbbb679999966bbbbbbbdd799999999999999999999997c77666666666666666666bbbbbb\nbbbbbbbbbbbb699966bbbbbbbbbd11ddddd111d111d1111dd11d9dd11d666666666666666bbbbbbbbbbbbbbbbbbb699966bbbbbbbbbbd769999999999999999999999cc776666666666666666bbbbbbb\nbbbbbbbbbbbb6666bbbbbbbbbbbd111dddd1111d1111111d111ddd111d76666666666666bbbbbbbbbbbbbbbbbbbb6666bbbbbbbbbbbbd7699999999999999999999997cc7776666666666666bbbbbbbb\nbbbbbbbbbbbb66bbbbbbbbbbbbbd1111dddd111d1111111111ddd1111d7766666666666bbbbbbbbbbbbbbbbbbbbb66bbbbbbbbbbbbbbd7699999999999999999999999ccc67766666666666bbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbbd11111ddd11111111111111dd11111d6666666666666bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdd66999999999999999999999999ccc6666666666666bbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbbd11111ddd1111111111d11ddd1111ddcccc66666666bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbd7669999999999999999999999999cccccc66666666bbbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbbdd11111ddd1111dd11dddddd11111ddcccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666999999999999999999999999997ccccccccccccbbbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbb6d111111dd11ddd5ddddddd11111dd997ccccccccccc6bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666799999999999999999999999999997ccccccccccb6bbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbddd66dd111111ddd5d555dddddd1111ddd9ddddccccccccc66bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666699999999999999999999999999999997ccccccccb66bbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbd11ddddd111ddddd55555d5dddd111ddddd1111d9999999966bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666699999999999999999999999999999999999999999966bbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbd1111dddd11d11dd5555555dd11d1ddddd1111dd99999999766bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb66669999999999999999999999999999999999999999999766bbbbbb\nbbbbbbbbbbbbbbbbbbbbbb66d1111ddddddd111dd555511111ddddd11111dd9999999999666bbbbbbbbbbbbbbbbbbbbbbbbbbb66666999999999999999999999999999999999999999999999666bbbbb\nbbbbbbbbbbbbbbbbbbbb6666dd11111ddddd11111d5d11111dddd111111dddddddddddddd6666bbbbbbbbbbbbbbbbbbbbbbb66666699999999999999999999999999999999999dddddddddddd6666bbb\n6bbbbbbbbbbbbbbbb66666667ddd11111dddd11111d11111ddd11111dddddddddddddddddd6666666bbbbbbbbbbbbbbbb66666667999999999999999999999999999999999dddddddddddddddd666666\n666666666666666666666679777dddd1111ddd11ddddd11dd1111ddddddddddddddddddddddd666666666666666666666666667999999999999999999999999999999999dddddddddddddddddddd6666\n6666666666666666666679997111111ddddddddd11111ddddddddd111111dddddddddddddddddd66666666666666666666667999999999999999999999999999999999dddddddddddddddddddddddd66\nd6666666666666666799999971111111111dddd1111111dddd11111111177dddddddddddddddddddd6666666666666666799999999999999999999999999999999999ddddddddddddddddddddddddddd\nddddd7777999999999999999977111111dddddddd111dddddddd11111777ddddddddddddddddddddddddd77779999999999999999999999999999999999999999999dddddddddddddddddddddddddddd\ndddddd77799999999999999999977777dd7d11ddddddddd111dddddd77dddddddddddddddddddddddddddd777999999999999999999999999999999999999999999ddddddddddddddddddddddddddddd\nddddddd79999999999999999999ddddd771111d111dddd11111177dddd77ddddddd77777ddddddddddddddd79999999999999999999999999999999999999999999dddddddddddddddd77777dddddddd\nddddddd799999999999999999bddddd7711111d1111ddd711111177dddd77dddddddd7777777ddddddddddd799999999999999999c6666666667999999999999997dddddddddddddddddd7777777dddd\ndddddd7999999999999999999ddddd7711111dd11111dd77111111777777dddddddddd7777777777dddddd7999999999999999999cc666666666667999999999997ddddddddddddddddddd7777777777\n7777d799999999999999999997bddd711111d6dd1111dd997d11111ddddddddddddddddd777777777777d799999999999999999997c6666666666666799999999997dddddddddddddddddddd77777777\n7777799999999999966b7999997c66d111dd666d11111d9999dddddddddddddddddddddddd7799977777799999999999966b7999997c6666666666666699999999977ddddddddddddddddddddd779997\n999999999999999966666679999cc66ddd666666d1111d99999977dddddddddddddddddddddd7999999999999999999966666679999cc6666666666666699999999977dddddddddddddddddddddd7999\n99999999999999966666666b9997c666666666666d111d9999999777ddddddddddddddddd777799999999999999999966666666b9997c666666666666667999999999777ddddddddddddddddd7777999\n9999999999999966666666666b99cc666666666666ddd999999999777777777777777777777799999999999999999966666666666b99cc66666666666666999999999977777777777777777777779999\n99999999999996666666666666677c6666666666666697777669999977777777777777777999999999999999999996666666666666677c66666666666666977776699999777777777777777779999999\n9999999999999666666666666666666666666666667777777769999999999999999999999999999999999999999996666666666666666666666666666677777777699999999999999999999999999999\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",
342
+ "main.blocks": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable type=\"KIND_SpriteKind\" id=\"Z,DM#7{9jV0}.ko?0F)^\">Player</variable><variable type=\"KIND_SpriteKind\" id=\":}a0F)fZSn#89Z(GT6tI\">Projectile</variable><variable type=\"KIND_SpriteKind\" id=\")v$k]p}0v(7O6hHjb.iq\">Food</variable><variable type=\"KIND_SpriteKind\" id=\"1.znz1g$35J=oTce7MVr\">Enemy</variable><variable id=\";}6j|s4238nr]T/85FsZ\">mySprite</variable><variable id=\"c5vFr`92Bk$%$C-N|nGK\">mySprite2</variable><variable id=\"mWJjXO9Zj%!,a8ufR)^C\">otherSprite</variable><variable id=\"$Hrfa5}L5U*L/K$()knw\">mySprite3</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"gamesetbackgroundimage\"><value name=\"img\"><shadow type=\"background_image_picker\"><field name=\"img\">assets.image`Background`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.[GbUocpt^e@h97~~1|{K\"}}</data></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\"c5vFr`92Bk$%$C-N|nGK\">mySprite2</field><value name=\"VALUE\"><shadow xmlns=\"http://www.w3.org/1999/xhtml\" type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"spritescreate\"><value name=\"img\"><shadow type=\"screen_image_picker\"><field name=\"img\">assets.image`Hero`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.image3\"}}</data></shadow></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Player</field></shadow></value></block></value><next><block type=\"spritesetpos\"><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"c5vFr`92Bk$%$C-N|nGK\">mySprite2</field></block></value><value name=\"x\"><shadow type=\"positionPicker\"><field name=\"index\">85</field></shadow></value><value name=\"y\"><shadow type=\"positionPicker\"><field name=\"index\">80</field></shadow></value><next><block type=\"gamecountdown\"><value name=\"duration\"><shadow type=\"math_number\"><field name=\"NUM\">10</field></shadow></value><next><block type=\"hudSetLife\"><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">3</field></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\";}6j|s4238nr]T/85FsZ\">mySprite</field><value name=\"VALUE\"><shadow xmlns=\"http://www.w3.org/1999/xhtml\" type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"spritescreate\"><value name=\"img\"><shadow type=\"screen_image_picker\"><field name=\"img\">assets.image`Bouncer`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.image2\"}}</data></shadow></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Player</field></shadow></value></block></value><next><block type=\"spritesetvel\"><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\";}6j|s4238nr]T/85FsZ\">mySprite</field></block></value><value name=\"vx\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">200</field></shadow></value><value name=\"vy\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">100</field></shadow></value><next><block type=\"spritesetsetbounceonwall\"><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\";}6j|s4238nr]T/85FsZ\">mySprite</field></block></value><value name=\"on\"><shadow type=\"toggleOnOff\"><field name=\"on\">true</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type=\"keyonevent\" x=\"690\" y=\"250\"><field name=\"button\">controller.A</field><field name=\"event\">ControllerButtonEvent.Pressed</field><statement name=\"HANDLER\"><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"spriteoverlapswith\"><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\";}6j|s4238nr]T/85FsZ\">mySprite</field></block></value><value name=\"other\"><block type=\"variables_get\"><field name=\"VAR\" id=\"c5vFr`92Bk$%$C-N|nGK\">mySprite2</field></block></value></block></value><statement name=\"DO0\"><block type=\"gameOver\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"win\"><shadow type=\"toggleWinLose\"><field name=\"win\">true</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"hudChangeLifeBy\"><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">-1</field></shadow></value></block></statement></block></statement></block></xml>",
343
+ "main.ts": "controller.A.onEvent(ControllerButtonEvent.Pressed, function () {\n if (mySprite.overlapsWith(mySprite2)) {\n game.over(true)\n } else {\n info.changeLifeBy(-1)\n }\n})\nlet mySprite: Sprite = null\nlet mySprite2: Sprite = null\nscene.setBackgroundImage(assets.image`Background`)\nmySprite2 = sprites.create(assets.image`Hero`, SpriteKind.Player)\nmySprite2.setPosition(85, 80)\ninfo.startCountdown(10)\ninfo.setLife(3)\nmySprite = sprites.create(assets.image`Bouncer`, SpriteKind.Player)\nmySprite.setVelocity(200, 100)\nmySprite.setBounceOnWall(true)\n",
344
+ "pxt.json": "{\n \"name\": \"time-reaction-game\",\n \"description\": \"\",\n \"dependencies\": {\n \"device\": \"*\"\n },\n \"files\": [\n \"main.blocks\",\n \"main.ts\",\n \"README.md\",\n \"assets.json\",\n \"images.g.jres\",\n \"images.g.ts\"\n ],\n \"targetVersions\": {\n \"branch\": \"v1.4.40\",\n \"tag\": \"v1.4.40\",\n \"commits\": \"https://github.com/microsoft/pxt-arcade/commits/6e7016f2daff5c7a6de3f15abd027b9f32fe5b28\",\n \"target\": \"1.4.40\",\n \"pxt\": \"6.12.22\"\n },\n \"preferredEditor\": \"blocksprj\"\n}\n"
345
+ }
346
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pxt-arcade",
3
- "version": "1.12.13",
3
+ "version": "1.12.16",
4
4
  "description": "Small arcade editor for MakeCode",
5
5
  "keywords": [
6
6
  "JavaScript",
@@ -33,11 +33,11 @@
33
33
  "typescript": "4.8.3"
34
34
  },
35
35
  "dependencies": {
36
- "pxt-common-packages": "10.3.9",
37
- "pxt-core": "8.5.18"
36
+ "pxt-common-packages": "10.3.12",
37
+ "pxt-core": "8.5.22"
38
38
  },
39
39
  "optionalDependencies": {
40
- "pxt-arcade-sim": "microsoft/pxt-arcade-sim.git#v0.10.5"
40
+ "pxt-arcade-sim": "microsoft/pxt-arcade-sim.git#v0.10.6"
41
41
  },
42
42
  "scripts": {
43
43
  "serve": "node node_modules/pxt-core/built/pxt.js serve",
package/pxtarget.json CHANGED
@@ -570,11 +570,11 @@
570
570
  "hasAudio": true,
571
571
  "allowPackageExtensions": true,
572
572
  "homeScreenHero": {
573
- "imageUrl": "/static/hero-gallery/skillmap.png",
574
- "name": "Start Skillmap",
575
- "url": "https://aka.ms/ArcadeSkillmap",
576
- "buttonLabel": "Start Skillmap",
577
- "description": "New? Start here!",
573
+ "imageUrl": "/static/hero-gallery/multiplayer-banner.png",
574
+ "name": "Multiplayer Games!",
575
+ "url": "https://arcade.makecode.com/--multiplayer",
576
+ "buttonLabel": "Try Now",
577
+ "description": "Multiplayer Games!",
578
578
  "cardType": "link"
579
579
  },
580
580
  "homeScreenHeroGallery": "/hero-banner",
package/targetconfig.json CHANGED
@@ -53,7 +53,8 @@
53
53
  "tags": [ "Hardware" ]
54
54
  },
55
55
  "jwunderl/pxt-button-combos": {
56
- "preferred": true
56
+ "preferred": true,
57
+ "tags": [ "Controller" ]
57
58
  },
58
59
  "jwunderl/pxt-color": {
59
60
  "preferred": true,
@@ -72,11 +73,14 @@
72
73
  "tags": [ "Utility" ],
73
74
  "upgrades": "min:v0.0.6"
74
75
  },
75
- "microsoft/arcade-grid": { "preferred": true },
76
- "microsoft/arcade-minimap": {
76
+ "microsoft/arcade-grid": {
77
77
  "preferred": true,
78
78
  "tags": [ "Sprites" ]
79
79
  },
80
+ "microsoft/arcade-minimap": {
81
+ "preferred": true,
82
+ "tags": [ "Sprites", "Visual Effects" ]
83
+ },
80
84
  "microsoft/arcade-timers": {
81
85
  "preferred": true,
82
86
  "tags": [ "Utility" ]
@@ -121,6 +125,56 @@
121
125
  "code-ninjas-home-office/game-building-session-tutorials": {},
122
126
  "microsoft/arcade-carnival": {}
123
127
  },
128
+ "builtinExtensionsLib": {
129
+ "controller": {
130
+ "preferred": true,
131
+ "tags": [ "Utility", "Controller" ]
132
+ },
133
+ "animation": {
134
+ "preferred": true,
135
+ "tags": [ "Sprites", "Visual Effects" ]
136
+ },
137
+ "multiplayer": {
138
+ "preferred": true,
139
+ "tags": [ "Utility", "Controller", "Sprites" ]
140
+ },
141
+ "sprite-scaling": {
142
+ "preferred": true,
143
+ "tags": [ "Sprites", "Visual Effects" ]
144
+ },
145
+ "corgio": {
146
+ "preferred": true,
147
+ "tags": [ "Sprites" ]
148
+ },
149
+ "darts": {
150
+ "preferred": true,
151
+ "tags": [ "Sprites" ]
152
+ },
153
+ "edge-connector": {
154
+ "preferred": true,
155
+ "tags": [ "Hardware" ]
156
+ },
157
+ "light": {
158
+ "preferred": true,
159
+ "tags": [ "Hardware" ]
160
+ },
161
+ "radio-broadcast": {
162
+ "preferred": true,
163
+ "tags": [ "Utility"]
164
+ },
165
+ "servo": {
166
+ "preferred": true,
167
+ "tags": [ "Hardware" ]
168
+ },
169
+ "sevenseg": {
170
+ "preferred": true,
171
+ "tags": [ "Utility" ]
172
+ },
173
+ "feather": {
174
+ "preferred": true,
175
+ "tags": [ "Hardware", "Controller" ]
176
+ }
177
+ },
124
178
  "upgrades": {
125
179
  "microsoft/pxt-tilemaps": "min:v1.8.1",
126
180
  "microsoft/arcade-sprite-data": "min:v0.0.6"