pxt-arcade 1.13.12 β 1.13.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/built/sim.js +233 -67
- package/built/target.js +1 -1
- package/built/target.json +1 -1
- package/built/targetlight.json +1 -1
- package/docs/static/skillmap/racer/share.png +0 -0
- package/docs/test/skillmap/racer/racer1.md +87 -78
- package/docs/test/skillmap/racer/racer2.md +50 -55
- package/docs/test/skillmap/racer/racer3.md +113 -27
- package/docs/test/skillmap/racer.md +69 -0
- package/docs/test/skillmap/space/space1.md +205 -0
- package/docs/test/skillmap/space/space2.md +186 -0
- package/docs/test/skillmap/space/space3.md +374 -0
- package/docs/test/skillmap/space/space4.md +409 -0
- package/docs/test/skillmap/space/space4a.md +291 -0
- package/docs/test/skillmap/space/space5.md +433 -0
- package/docs/test/skillmap/space/space6.md +343 -0
- package/docs/test/skillmap/space.md +109 -0
- package/docs/test/tutorials/birthday.md +2 -2
- package/docs/test/tutorials/blazing.md +18 -5
- package/package.json +3 -3
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
# Here comes trouble!
|
|
2
|
+
|
|
3
|
+
## Introduction @showdialog
|
|
4
|
+
|
|
5
|
+
**Intergalactic travel is dangerous!**
|
|
6
|
+
|
|
7
|
+
Let's add some enemies for your ship to avoid.
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## 2. Enemy Rain
|
|
13
|
+
|
|
14
|
+
**Feel like making enemies rain from the sky?**
|
|
15
|
+
πΎπΎπΎ
|
|
16
|
+
|
|
17
|
+
Let's add some code that will drop an enemy toward the ship every couple of seconds.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
- :circle: Add an
|
|
22
|
+
``||game:on game update every [500] ms||``
|
|
23
|
+
container to the workspace.
|
|
24
|
+
|
|
25
|
+
- :mouse pointer: Change the number value to **2000** [__*ms*__](#millis "milliseconds...aka 1/1000 of a second")
|
|
26
|
+
(or pick **2 second** from the dropdown)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
```blocks
|
|
31
|
+
game.onUpdateInterval(2000, function () {
|
|
32
|
+
})
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## 3. Rename the Variable
|
|
36
|
+
|
|
37
|
+
- :paper plane: Find the
|
|
38
|
+
``||variables(sprites):set [projectile2] to projectile [ ] from side with vx [50] vy [50]||``
|
|
39
|
+
block and drag it into the new **on game update** container.
|
|
40
|
+
|
|
41
|
+
- :mouse pointer: Click on the ``||variables(noclick):[projectile2]||`` value inside the new block and select "Rename variable..." .
|
|
42
|
+
|
|
43
|
+
- :mouse pointer: Change the variable name to ``||variables(noclick):myEnemy||`` so we know these are the baddies.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
```blocks
|
|
48
|
+
let myEnemy: Sprite = null
|
|
49
|
+
game.onUpdateInterval(2000, function () {
|
|
50
|
+
myEnemy = sprites.createProjectileFromSide(img`
|
|
51
|
+
. . . .
|
|
52
|
+
. . . .
|
|
53
|
+
. . . .
|
|
54
|
+
. . . .
|
|
55
|
+
`, 50, 50)
|
|
56
|
+
})
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## 4. Straight Down
|
|
60
|
+
|
|
61
|
+
**Let's get the enemies moving in the right direction**
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
- :paint brush: Click the grey square in the new block and toggle to **My Assets** to grab **Spider**.
|
|
66
|
+
|
|
67
|
+
- :mouse pointer: Play with the **vx** and **vy** values of **myEnemy** until
|
|
68
|
+
your new sprites are falling straight down the side of the screen.
|
|
69
|
+
|
|
70
|
+
π‘ Are the enemies all falling down to the left of the screen? Don't worry, we'll handle that in the next step!
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
```blocks
|
|
75
|
+
|
|
76
|
+
game.onUpdateInterval(2000, function () {
|
|
77
|
+
let myEnemy = sprites.createProjectileFromSide(assets.image`Spider`, 0, 50)
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## 5. So Random
|
|
83
|
+
|
|
84
|
+
Enemies aren't likely to hit the ship if they're off to the side. Let's add an element of surprise using [__*random numbers*__](#randos "numbers appearing seemingly without a predictable pattern") .
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
- :paper plane: Snap a
|
|
89
|
+
``||sprites:set [mySprite] [x] to [0]||``
|
|
90
|
+
block into the end of the
|
|
91
|
+
``||game:on game update every [2000] ms||``
|
|
92
|
+
container.
|
|
93
|
+
|
|
94
|
+
- :mouse pointer: To make sure we're acting on the right sprites, use the dropdown in the new block to change ``||variables(noclick):mySprite||`` to ``||variables(noclick):myEnemy||``.
|
|
95
|
+
|
|
96
|
+
```blocks
|
|
97
|
+
game.onUpdateInterval(2000, function () {
|
|
98
|
+
let myEnemy = sprites.createProjectileFromSide(assets.image`Spider`, 0, 50)
|
|
99
|
+
myEnemy.x = 0
|
|
100
|
+
})
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## 6. Horizontal
|
|
104
|
+
|
|
105
|
+
- :calculator: Set a random [__*x*__](#setX "horizontal location")
|
|
106
|
+
for the enemies using a
|
|
107
|
+
``||Math:pick random [0] to [10]||`` block.
|
|
108
|
+
Connect it to replace the **0** in the
|
|
109
|
+
``||sprites:set [myEnemy] [x] to [0]||``
|
|
110
|
+
block.
|
|
111
|
+
|
|
112
|
+
- :mouse pointer: Finally, update the minimum argument of the
|
|
113
|
+
``||Math:pick random [0] to [10]||``
|
|
114
|
+
block to **5** and the maximum argument to **155**.
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
_π‘ The Arcade screen is 160px wide,
|
|
119
|
+
so you could make your enemies fall anywhere between 0 and 160
|
|
120
|
+
and still be able to see a piece of them._
|
|
121
|
+
|
|
122
|
+
```blocks
|
|
123
|
+
game.onUpdateInterval(2000, function () {
|
|
124
|
+
let myEnemy = sprites.createProjectileFromSide(assets.image`Spider`, 0, 50)
|
|
125
|
+
myEnemy.x = randint(5, 155)
|
|
126
|
+
})
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
## 7. Enemy Kind
|
|
131
|
+
|
|
132
|
+
We now have two different kinds of projectiles. Let's make sure the computer knows they're different by setting this one to an
|
|
133
|
+
"**Enemy**" [__*kind*__](#withClass "a label you give a particular group so you can refer to it later").
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
- :paper plane: Snap a
|
|
138
|
+
``||sprites:set [mySprite] kind to [Player]||``
|
|
139
|
+
block into the bottom of the **on game update** container.
|
|
140
|
+
|
|
141
|
+
- :mouse pointer: Change ``||variables(noclick):mySprite||`` to ``||variables(noclick):myEnemy||``, then choose ``||sprites(noclick):Enemy||`` as the kind.
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
```blocks
|
|
146
|
+
game.onUpdateInterval(2000, function () {
|
|
147
|
+
let myEnemy = sprites.createProjectileFromSide(assets.image`Spider`, 0, 50)
|
|
148
|
+
myEnemy.x = randint(5, 155)
|
|
149
|
+
myEnemy.setKind(SpriteKind.Enemy)
|
|
150
|
+
})
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
## 8. Collision
|
|
155
|
+
|
|
156
|
+
**Time to create some enemy behavior**
|
|
157
|
+
|
|
158
|
+
To add excitement to the game, let's make something happen when an enemy
|
|
159
|
+
collides with our ship.
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
- :paper plane: Drag an
|
|
164
|
+
``||sprites:on [sprite] of kind [Player] overlaps [othersprite] of kind [Player]||``
|
|
165
|
+
container into the workspace.
|
|
166
|
+
|
|
167
|
+
- :mouse pointer: Change the last value from ``||sprites:Player||`` to ``||sprites:Enemy||``.
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
_π‘ Don't try to change "sprite" β "mySprite" or "otherSprite" β "myEnemy".
|
|
172
|
+
The variable "sprite" is the **Player** sprite (our Rocket) and the "otherSprite" variable is the specific **Enemy** sprite that our **Player** overlapped with._
|
|
173
|
+
|
|
174
|
+
```blocks
|
|
175
|
+
sprites.onOverlap(SpriteKind.Player, SpriteKind.Enemy, function (sprite, otherSprite) {
|
|
176
|
+
|
|
177
|
+
})
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## 9. Fewer Lives
|
|
181
|
+
|
|
182
|
+
When the enemy collides with the ship,
|
|
183
|
+
we want it to subtract a life...then disappear.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
- :id card: Grab the
|
|
188
|
+
``||info:change life by [-1]||``
|
|
189
|
+
block and snap it into the **on player overlaps enemy** container. That removes a life from the player every time it's hit by an enemy!
|
|
190
|
+
|
|
191
|
+
- :paper plane: Find the
|
|
192
|
+
``||sprites:destroy [mySprite] β||``
|
|
193
|
+
block and snap it below the previous block.
|
|
194
|
+
|
|
195
|
+
```blocks
|
|
196
|
+
let mySprite: Sprite = null
|
|
197
|
+
sprites.onOverlap(SpriteKind.Player, SpriteKind.Enemy, function (sprite, otherSprite) {
|
|
198
|
+
info.changeLifeBy(-1)
|
|
199
|
+
mySprite.destroy()
|
|
200
|
+
})
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## 10. Destroy
|
|
204
|
+
|
|
205
|
+
- :mouse pointer: To tell the **destroy** block that you want it to affect the overlapping enemy, click on the ``||variables(noclick):otherSprite||`` value from the top of the **overlaps** container and drag it down to replace the
|
|
206
|
+
``||variables(noclick):mySprite||`` value inside
|
|
207
|
+
``||sprites:destroy [mySprite] β||``.
|
|
208
|
+
|
|
209
|
+

|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
_π‘ Click the __β__ on the
|
|
214
|
+
``||sprites:destroy [otherSprite] β||``
|
|
215
|
+
block to get a menu of effects to display upon your enemy's demise!_
|
|
216
|
+
|
|
217
|
+
```blocks
|
|
218
|
+
sprites.onOverlap(SpriteKind.Player, SpriteKind.Enemy, function (sprite, otherSprite) {
|
|
219
|
+
info.changeLifeBy(-1)
|
|
220
|
+
otherSprite.destroy(effects.spray, 500)
|
|
221
|
+
})
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
## 11. Fire!
|
|
225
|
+
|
|
226
|
+
**Time to save the world**
|
|
227
|
+
π π π
|
|
228
|
+
|
|
229
|
+
Another **overlap** container will help the projectiles
|
|
230
|
+
destroy our enemies on impact.
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
- :paper plane: Drag another
|
|
236
|
+
``||sprites:on [sprite] of kind [Player] overlaps [othersprite] of kind [Player]||``
|
|
237
|
+
container into the workspace.
|
|
238
|
+
|
|
239
|
+
- :mouse pointer: Change the first kind to ``||sprites:Enemy||`` and the second kind to
|
|
240
|
+
``||sprites:Projectile||``.
|
|
241
|
+
|
|
242
|
+
- :paper plane: Inside, add two
|
|
243
|
+
``||sprites:destroy [mySprite] β||``
|
|
244
|
+
blocks, then change the arguments
|
|
245
|
+
so that one destroys the enemy (``||variables(noclick):sprite||``) and the other
|
|
246
|
+
destroys your projectile (``||variables(noclick):otherSprite||``).
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
_π‘ Don't forget to hit that __β__ button on the **destroy** block to get
|
|
251
|
+
some spectacular effects when your projectile makes contact!_
|
|
252
|
+
|
|
253
|
+
```blocks
|
|
254
|
+
sprites.onOverlap(SpriteKind.Enemy, SpriteKind.Projectile, function (sprite, otherSprite) {
|
|
255
|
+
sprite.destroy(effects.ashes, 100)
|
|
256
|
+
otherSprite.destroy()
|
|
257
|
+
})
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
## 12. Add Points
|
|
261
|
+
|
|
262
|
+
**Finally, let's add a point for each enemy destroyed**
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
- :id card: Drag
|
|
267
|
+
``||info:change score by [1]||``
|
|
268
|
+
into **the end** of the **on enemy overlaps projectile** container.
|
|
269
|
+
|
|
270
|
+
```blocks
|
|
271
|
+
sprites.onOverlap(SpriteKind.Enemy, SpriteKind.Projectile, function (sprite, otherSprite) {
|
|
272
|
+
sprite.destroy(effects.ashes, 100)
|
|
273
|
+
otherSprite.destroy()
|
|
274
|
+
info.changeScoreBy(1)
|
|
275
|
+
})
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## 13. Finale
|
|
279
|
+
|
|
280
|
+
**Congratulations**
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
Now you have a bunch of enemies to combat.
|
|
285
|
+
Don't forget to play with your project in the game screen before you go.
|
|
286
|
+
|
|
287
|
+
Once you're happy, click **Done** to return to the main skillmap where you can carry on to add some drama with an animated ship!
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
```package
|
|
294
|
+
arcade-background-scroll=github:microsoft/arcade-background-scroll#926e12eefffd09d453c7cde73f8d6ebd0e666d9d/
|
|
295
|
+
pxt-status-bar=github:jwunderl/pxt-status-bar
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
```template
|
|
299
|
+
|
|
300
|
+
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
301
|
+
projectile = sprites.createProjectileFromSprite(assets.image`Dart1`, mySprite, 0, -150)
|
|
302
|
+
projectile.startEffect(effects.fire, 100)
|
|
303
|
+
})
|
|
304
|
+
let projectile: Sprite = null
|
|
305
|
+
let mySprite: Sprite = null
|
|
306
|
+
scene.setBackgroundImage(assets.image`Galaxy`)
|
|
307
|
+
scroller.scrollBackgroundWithSpeed(0, 10)
|
|
308
|
+
mySprite = sprites.create(assets.image`Rocket`, SpriteKind.Player)
|
|
309
|
+
controller.moveSprite(mySprite)
|
|
310
|
+
mySprite.setStayInScreen(true)
|
|
311
|
+
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
```ghost
|
|
315
|
+
namespace SpriteKind {
|
|
316
|
+
export const Gas = SpriteKind.create()
|
|
317
|
+
}
|
|
318
|
+
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
319
|
+
projectile = sprites.createProjectileFromSprite(assets.image`Dart1`, mySprite, 0, -150)
|
|
320
|
+
projectile.startEffect(effects.ashes)
|
|
321
|
+
})
|
|
322
|
+
sprites.onOverlap(SpriteKind.Player, SpriteKind.Gas, function (sprite, otherSprite) {
|
|
323
|
+
statusbar.value = 100
|
|
324
|
+
otherSprite.destroy()
|
|
325
|
+
})
|
|
326
|
+
|
|
327
|
+
sprites.onOverlap(SpriteKind.Enemy, SpriteKind.Projectile, function (sprite, otherSprite) {
|
|
328
|
+
sprite.destroy(effects.fire, 100)
|
|
329
|
+
otherSprite.destroy()
|
|
330
|
+
info.changeScoreBy(1)
|
|
331
|
+
})
|
|
332
|
+
sprites.onOverlap(SpriteKind.Player, SpriteKind.Enemy, function (sprite, otherSprite) {
|
|
333
|
+
info.changeLifeBy(-1)
|
|
334
|
+
otherSprite.destroy(effects.disintegrate, 500)
|
|
335
|
+
})
|
|
336
|
+
let myEnemy: Sprite = null
|
|
337
|
+
let projectile: Sprite = null
|
|
338
|
+
let mySprite: Sprite = null
|
|
339
|
+
scene.setBackgroundImage(assets.image`Galaxy`)
|
|
340
|
+
scroller.scrollBackgroundWithSpeed(0, 10)
|
|
341
|
+
mySprite = sprites.create(assets.image`Rocket`, SpriteKind.Player)
|
|
342
|
+
controller.moveSprite(mySprite)
|
|
343
|
+
mySprite.setStayInScreen(true)
|
|
344
|
+
|
|
345
|
+
mySprite.y = 100
|
|
346
|
+
game.onUpdateInterval(5000, function () {
|
|
347
|
+
myFuel = sprites.createProjectileFromSide(assets.image`Fuel`, 0, 100)
|
|
348
|
+
myFuel.x = randint(5, 155)
|
|
349
|
+
myFuel.setKind(SpriteKind.Gas)
|
|
350
|
+
})
|
|
351
|
+
game.onUpdateInterval(2000, function () {
|
|
352
|
+
myEnemy = sprites.createProjectileFromSide(assets.image`Spider`, 0, 50)
|
|
353
|
+
myEnemy.x = randint(5, 155)
|
|
354
|
+
myEnemy.setKind(SpriteKind.Enemy)
|
|
355
|
+
})
|
|
356
|
+
game.onUpdateInterval(300, function () {
|
|
357
|
+
statusbar.value += -1
|
|
358
|
+
})
|
|
359
|
+
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
```assetjson
|
|
363
|
+
{
|
|
364
|
+
"README.md": " ",
|
|
365
|
+
"assets.json": "",
|
|
366
|
+
"images.g.jres": "{\n \"image6\": {\n \"data\": \"hwQMABAAAAAAACBAAAAAAAAAAFJEAAAAAAAAQlQEAAAgAPhCRFQEAJDyGEQiIlIAAvlRVVVVVVYC+V9VVVVVVpDyWEQiIlIAIAD4QkRUBAAAAABCVAQAAAAAAFJEAAAAAAAgQAAAAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Stealth\"\n },\n \"image2\": {\n \"data\": \"hwQQABQAAAAAAABAmZaZlgAAAAAAAABAZmZm1gAAAAAAAAAAYNbd3QAAAAAAAAAAYGYAAAAAAAAAAAAAAGAGAAAAAAAAAGlmZmZmZgBpAAAAlmaZZplpaWBmAACZlmaZmWmZmZZpAACZZmZmZmZmZpZmAAAAlmZmZmZmZpBpAAAAAGZmZmZmZgBpAAAAAAAAAAAGAAAAAAAAAAAAAGYGAAAAAAAAAAAAYNbd3QAAAAAAAABAlpaZ1gAAAAAAAABAZmZmZgAAAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Blue Rocket\"\n },\n \"xlh}4fdz:|FpuFr9_v_b\": {\n \"data\": \"hwQNAA0AAAAAsLsAuwsAAACbs7BVCwAAABu5sFELAAAAsLu7uwsAAAAAsFm7uwsAAACbPbVbCwCwu5s5tbsAABu5G5G7uwAAsAuwuzs5CwAAALsLm5ELAACwmQs7OQsAALCRCwC7AAAAALsAAAAAAA==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Fuel\"\n },\n \"image21\": {\n \"data\": \"hwQDAAQAAABQKgAApQIAAFAqAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Dart1\"\n },\n \"image1\": {\n \"data\": \"hwQGAAYAAAAAdwAAAHFwABFxBwARcQcAAHFwAAB3AAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Dart2\"\n },\n \"image3\": {\n \"data\": \"hwQOABMAAAAAAAAAAACZDQAAAAAAAAAAAJlmAAAAAAAAAAAAmfb/AAAAAAAAAACR9v8PAEAAAAAAGRFh////AAQAAACQERYRERHxSlAAAAAZYcwRERHxWkQAAAAZocwRERHxWlQEAACQERoRERHxSlAAAAAAGRGh////AAQAAAAAAACR+v8PAEAAAAAAAAAAmfr/AAAAAAAAAAAAAJmqAAAAAAAAAAAAAACZCQAAAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Rocket\"\n },\n \"image7\": {\n \"data\": \"hwQVAAwAAAAAAAAuAAAAAAAAAORSAAAAAABARC4AAAAAAEBFJAUAAAAAQETkAgAAAJmZREQCAACQmZhJRQIAAJmZiUlEAgAAmZmJSUQCAACZmZmZRAIAAJmZmZlEAgAAGZGZmUQCAAAZkZlJRAIAAJkRmUlEAgAAkBmRSUUCAAAAmZlERAIAAAAAQETkAgAAAABARSQFAAAAAEBELgAAAAAAAORSAAAAAAAALgAAAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"UFO\"\n },\n \"image4\": {\n \"data\": \"hwSgAHgAAADMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMyMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMyMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIiMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIyIiMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIyIaMzMzMzMzMzMzMzMzMzMzMzMzMzMzszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMjIiIZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMjIiIZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiIiIZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzPz//4+IZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM/P///4+I9szMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzM//////+I9s/MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz8+/v///+I9v/MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz8+/u///+I9v/MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy/vPv//4+I9v/PzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy/u7u/+4+I9v/PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy/u7u7u4uI9v/PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy/u7u7u4xm9v/PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzMzMzMzMzMy/u7u7u4hm///PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzszMzMy/u7u7u4hm+/vPzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy/u7u7u2i2vP/PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy/u7u7i2a2u//PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy/u7u7i2bIy/vPzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz8u7u7a2bIzPvMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz8v7u7aGa7vP/MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMuLu7aIbLu8/MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM+L+LZoa7/8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiPhvZvj/zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMiIhoZsjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMiIhmhszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMiIhmxszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMiGjGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMiGbGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMiMbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMaMbMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxsZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIiIjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMjIj/j4iIzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM+P////+PyMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyM////////iMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMzMzMz4//+Pj4//j8jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz4+P///////8jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz/+v//+P+P/8jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyP+q///////8jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyI+qb4j4j//8jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyouvr/+G9m/8jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIqqqqpoZo9sjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIqquqaoaIhsjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIqqqqaoaIxsjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz4aGqqqmarqsjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyM+Kqqq6qmiszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiPpqqqaqyszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMjI+KqqivzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzszMzMzMzMzMzMzIiIiIjIzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz////MzMzMzMzMzMzMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzPz/////zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM/P///////8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM/////////8/MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz8///////////MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz8///////////MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz2///////////PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMz2////Zv/////PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxm9vav9q//9v/PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxoZv9m9vb2b//GzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyGZmZmZvZvZv/PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxoZmZmZmZmZvbPzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIZmZmZmZmiGbPzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIZmaGZoZmZmbIzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyPhmZmb2ZqaGbIzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMhmZmpmZmZobMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMiIZoZmZmhobMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiGhmhohoiMjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMjIiIaGZmiMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIyIiIzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxsiMjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOzMzMzMzMzMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMw=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Galaxy\"\n },\n \"image17\": {\n \"data\": \"hwQPABIAAADyAgAAAAAAAAAAAADy/wIAAAAAAAAAAAAv/yIAAAAAAAAAAADw8i8CAAAAAAAAAAAAL/8i8v8CAAAAAAAA8PIv8rv/AgAAAAD/Ly8i8vv//wIAAAD/IiLyL/////8AAAD/Ly8i8vv//wIAAAAA8PIv8rv/AgAAAAAAL/8i8v8CAAAAAADw8i8CAAAAAAAAAAAv/yIAAAAAAAAAAADy/wIAAAAAAAAAAADyAgAAAAAAAAAAAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Spider\"\n },\n \"*\": {\n \"mimeType\": \"image/x-mkcd-f4\",\n \"dataEncoding\": \"base64\",\n \"namespace\": \"myImages\"\n }\n}",
|
|
367
|
+
"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 \"image6\":\n case \"Stealth\":return img`\n. . . . . 2 2 . . . . . \n. . . 2 9 . . 9 2 . . . \n. . . . 2 9 9 2 . . . . \n. . . . f f f f . . . . \n. . . 8 8 1 f 8 8 . . . \n2 . . f 1 5 5 5 f . . 2 \n. 2 2 2 4 5 5 4 2 2 2 . \n4 5 4 4 4 5 5 4 4 4 5 4 \n. 4 4 4 2 5 5 2 4 4 4 . \n. 4 5 4 2 5 5 2 4 5 4 . \n. . 4 4 2 5 5 2 4 4 . . \n. . . 5 2 5 5 2 5 . . . \n. . . 4 2 5 5 2 4 . . . \n. . . . 5 5 5 5 . . . . \n. . . . . 6 6 . . . . . \n. . . . . 5 5 . . . . . \n`;\n case \"image2\":\n case \"Blue Rocket\":return img`\n.......99.......\n.......99.......\n......6666......\n......9969......\n.....966666.....\n.....666666.....\n.....699666.....\n44...699666...44\n96...669666...66\n9666.669666..696\n6666.699666.6666\n96d66696666.6d96\n96d.669966666d96\n96d..669666..d96\n66d..699666..d66\n9dd..669666..dd6\n.......66.......\n......6999......\n.....969699.....\n.....666666.....\n`;\n case \"xlh}4fdz:|FpuFr9_v_b\":\n case \"Fuel\":return img`\n. . . . . . . b . . . . . \n. . . . . . b 1 b . . . . \n. b b . . . b 9 b . . . . \nb 9 1 b . . b b . . b b . \nb 3 9 b . b b b . b 9 1 b \nb b b b b 9 9 1 b b 9 9 b \n. . . b 9 d 9 1 b b b b . \n. b b b 5 3 3 9 b . . . . \nb 5 1 b b 5 5 b b b b . . \nb 5 5 b b b b b 3 9 3 . . \nb b b b b b b b 9 1 9 b . \n. . . . b 5 b b 3 9 3 b . \n. . . . b b . . b b b . . \n`;\n case \"image21\":\n case \"Dart1\":return img`\n. 5 . \n5 a 5 \na 2 a \n2 . 2 \n`;\n case \"image1\":\n case \"Dart2\":return img`\n. . 1 1 . . \n. . 1 1 . . \n7 1 1 1 1 7 \n7 7 7 7 7 7 \n. . 7 7 . . \n. 7 . . 7 . \n`;\n case \"image3\":\n case \"Rocket\":return img`\n. . . . . . 9 9 . . . . . . \n. . . . . 9 1 1 9 . . . . . \n. . . . 9 1 1 1 1 9 . . . . \n. . . . 1 1 6 a 1 1 . . . . \n. . . . 1 6 c c a 1 . . . . \n. . . . 1 1 c c 1 1 . . . . \n. . . 1 1 1 1 1 1 1 1 . . . \n. . . 9 6 1 1 1 1 a 9 . . . \n. . 9 6 f 1 1 1 1 f a 9 . . \n. . 9 f f 1 1 1 1 f f 9 . . \n. 9 6 f f 1 1 1 1 f f a 9 . \n. 9 f f f 1 1 1 1 f f f 9 . \n9 6 f f f 1 1 1 1 f f f a 9 \n9 6 f . f f f f f f . f a 9 \nd . . . . a a a a . . . . 9 \n. . . . . 4 5 5 4 . . . . . \n. . . . 4 . 4 4 . 4 . . . . \n. . . 4 . 5 4 5 5 . 4 . . . \n. . . . . . . 4 . . . . . . \n`;\n case \"image7\":\n case \"UFO\":return img`\n. . . . . . . 9 9 9 9 9 9 9 . . . . . . . \n. . . . . . 9 9 9 9 9 1 1 9 9 . . . . . . \n. . . . . 9 9 9 9 9 9 1 1 1 9 9 . . . . . \n. . . . . 9 9 9 9 9 9 9 9 1 1 9 . . . . . \n. . . . . 9 8 9 9 9 9 9 9 9 1 9 . . . . . \n. . 4 4 4 9 9 8 8 9 9 9 9 9 9 9 4 4 4 . . \ne 4 4 5 4 4 9 9 9 9 9 9 9 9 9 4 4 5 4 4 e \n2 e 4 4 4 4 4 4 4 9 9 9 4 4 4 4 4 4 4 e 2 \n. 2 e 4 4 4 5 4 4 4 4 4 4 4 5 4 4 4 e 2 . \n. 5 2 2 e 4 4 4 4 4 4 4 4 4 4 4 e 2 2 5 . \n. . . 5 2 2 2 2 2 2 2 2 2 2 2 2 2 5 . . . \n. . . . . . . . . . . . . . . . . . . . . \n`;\n case \"image4\":\n case \"Galaxy\":return img`\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccecccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccbccccccccccccccccccfffffffffcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccffbbbbbbbbbffccc88888886ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccfbbcbbbbbbbbbf88888888886ccccccccccccccccccccccccccccccccccccccccccccceccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccffffbbbbbbbbbbbbf888888866ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccffbbbbbbbbbbbbbbf88888666cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccffffffbbbbbbbbbbbbf88866cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccfffffffbbbbbbbbbbbf86666ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbccccccccccccccccccccccccccccccccc\nccccccccccccccccccccffffbfbbbbbbbbbbb86666ccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccc8ffffffbbbbbbbbb8866666cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccc888fffffffbbbbb886666668ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccc8888fffffffbc88866666688cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccc88888888fff8888886666688fccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccc8888888888888886666688bbbfccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccc88888888888888888666bbccbcbfccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccc888886666666666666fbcbbccbfcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccc88666666ffffffffffbbccbbfcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccffffffffbffbbffccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccfffffffffffffccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccfffffffffcccccccccccccccccccccccccccccccccccccccceccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccb8ccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc66686888fcccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffff668688888cccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffff6666666688ccccccccccccccccccccccc\nccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffffff6666688888cccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffff6f6666666888ccccccccccccccccccccc\ncccccccccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffffffff6666668688ccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffffffff66666668688ccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffffffa666686666886cccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbcccccccccccccccccccccccccccfffffff6666666f666888cccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffffff6ff66666a686c8cccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffffffff666666668688cccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffffffaff668666868ccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffffff6f666a66868cccccccccccccccccbccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffffffff6666666668ccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffff6f668686688cccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffffff6668666888cccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffffff6666668ccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffffff66688cccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfff6fff88cccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccceccccccccccccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccecccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc88ff888888cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8fff88a888f8ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8ff8aaaaaaa888cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8fffffffbaaa6f88ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccbcccccccccccccccccccccccccccccc8ffffff6aabaaaaf8ccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8fffffaafaaa6af88cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8fffffff8faaaaaaa8cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8fff8fffffaaaaa688cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8fffff8ff86aaabaa8cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccc88ff8fff8fa66aaaa8cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccc88ffffff8f6666a688cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccc88ff8fff868886aaa8cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8fffffff6888b6af8cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc88fff8ff6688aaaacccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc88ffffff666aaacccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc88ffffff8ca8ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8888888888cccccccccccccccccccccccccccccccccccccccccccccccbcccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbcccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n`;\n case \"image17\":\n case \"Spider\":return img`\n2 2 f . . . f f f . . . f 2 2 \nf f 2 f . . f f f . . f 2 f f \n2 f f 2 f . f 2 f . f 2 f f 2 \n. f f f 2 f 2 2 2 f 2 f f f . \n. 2 2 f f 2 f 2 f 2 f f 2 2 . \n. . 2 2 f f 2 2 2 f f 2 2 . . \n. . . 2 2 f 2 2 2 f 2 2 . . . \n. . . . 2 2 2 f 2 2 2 . . . . \n. . . . 2 2 2 f 2 2 2 . . . . \n. . . . f f f 2 f f f . . . . \n. . . . f b b f b b f . . . . \n. . . . f b f f f b f . . . . \n. . . . 2 f f f f f 2 . . . . \n. . . . . f f f f f . . . . . \n. . . . . 2 f f f 2 . . . . . \n. . . . . . f f f . . . . . . \n. . . . . . 2 f 2 . . . . . . \n. . . . . . . f . . . . . . . \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",
|
|
368
|
+
"main.blocks": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable type=\"KIND_StatusBarKind\" id=\"/K%{SpW+hL@|DfMDB(`;\">Health</variable><variable type=\"KIND_StatusBarKind\" id=\"SWldc^f:mw!,xwv@WL?p\">Energy</variable><variable type=\"KIND_StatusBarKind\" id=\"g3Cl-BCte^-mcd)xc*q^\">Magic</variable><variable type=\"KIND_StatusBarKind\" id=\"MhC?k3TZTR8usQHnzI-S\">EnemyHealth</variable><variable id=\"5.(o@)4??y0/k{XK-!y[\">projectile</variable><variable id=\"R7dik,CiE;B047o!sYUb\">mySprite</variable><variable id=\"h1[R_8P)$La{DBVGu]DJ\">myEnemy</variable><variable id=\"0EIjmPrHvl2fFOH-}hD5\">statusbar</variable><variable id=\"T}Ip%yy]AU9bxdT0UDp1\">myFuel</variable><variable id=\"b|;7Q4ozqLRbCLM6lKLe\">projectile2</variable><variable type=\"KIND_SpriteKind\" id=\"I5@$XtX9_FL^Y@!S(vgQ\">Player</variable><variable type=\"KIND_SpriteKind\" id=\"UR$=z1+|70iPrvX+I!($\">Projectile</variable><variable type=\"KIND_SpriteKind\" id=\"0zck@]Ye`{v[!uv;EmA%\">Food</variable><variable type=\"KIND_SpriteKind\" id=\"BAZbTj.O~v5V3vIT`5M5\">Enemy</variable><variable type=\"KIND_SpriteKind\" id=\"w@::)0lsX-)RjzLOGEpv\">StatusBar</variable><variable type=\"KIND_SpriteKind\" id=\"%9)/),)nyhcn(Cy:;g~}\">Gas</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`Galaxy`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.image4\"}}</data></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\"R7dik,CiE;B047o!sYUb\">mySprite</field><value name=\"VALUE\"><shadow 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`Rocket`</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=\"game_control_sprite\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"2\" _input_init=\"true\"></mutation><value name=\"sprite\"><shadow type=\"variables_get\"><field name=\"VAR\" id=\"R7dik,CiE;B047o!sYUb\">mySprite</field></shadow></value><value name=\"vx\"><shadow type=\"math_number\"><field name=\"NUM\">100</field></shadow></value><value name=\"vy\"><shadow type=\"math_number\"><field name=\"NUM\">100</field></shadow></value><next><block type=\"spritesetsetflag\"><field name=\"flag\">SpriteFlag.StayInScreen</field><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"R7dik,CiE;B047o!sYUb\">mySprite</field></block></value><value name=\"on\"><shadow type=\"toggleOnOff\"><field name=\"on\">true</field></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\"0EIjmPrHvl2fFOH-}hD5\">statusbar</field><value name=\"VALUE\"><shadow xmlns=\"http://www.w3.org/1999/xhtml\" type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"statusbars_create\"><value name=\"width\"><shadow type=\"math_number\"><field name=\"NUM\">20</field></shadow></value><value name=\"height\"><shadow type=\"math_number\"><field name=\"NUM\">4</field></shadow></value><value name=\"kind\"><shadow type=\"statusbars_kind\"><field name=\"MEMBER\">Energy</field></shadow></value></block></value><next><block type=\"statusbars_attachToSprite\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"2\" _input_init=\"true\"></mutation><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\" id=\"0EIjmPrHvl2fFOH-}hD5\">statusbar</field></block></value><value name=\"toFollow\"><block type=\"variables_get\"><field name=\"VAR\" id=\"R7dik,CiE;B047o!sYUb\">mySprite</field></block></value><value name=\"padding\"><shadow type=\"math_number\"><field name=\"NUM\">-30</field></shadow></value><value name=\"offset\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><next><block type=\"Sprite_blockCombine_set\"><field name=\"property\">Sprite.y@set</field><value name=\"mySprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"R7dik,CiE;B047o!sYUb\">mySprite</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">100</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type=\"gameinterval\" x=\"707\" y=\"70\"><value name=\"period\"><shadow type=\"timePicker\"><field name=\"ms\">2000</field></shadow></value><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\" id=\"h1[R_8P)$La{DBVGu]DJ\">myEnemy</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"spritescreateprojectilefromside\"><value name=\"img\"><shadow type=\"screen_image_picker\"><field name=\"img\">assets.image`Spider`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.image17\"}}</data></shadow></value><value name=\"vx\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">0</field></shadow></value><value name=\"vy\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">50</field></shadow></value></block></value><next><block type=\"Sprite_blockCombine_set\"><field name=\"property\">Sprite.x@set</field><value name=\"mySprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"h1[R_8P)$La{DBVGu]DJ\">myEnemy</field></block></value><value name=\"value\"><block type=\"device_random\"><value name=\"min\"><shadow type=\"math_number\"><field name=\"NUM\">5</field></shadow></value><value name=\"limit\"><shadow type=\"math_number\"><field name=\"NUM\">155</field></shadow></value></block></value><next><block type=\"spritesetkind\"><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"h1[R_8P)$La{DBVGu]DJ\">myEnemy</field></block></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Enemy</field></shadow></value></block></next></block></next></block></statement></block><block type=\"keyonevent\" x=\"1505\" y=\"70\"><field name=\"button\">controller.A</field><field name=\"event\">ControllerButtonEvent.Pressed</field><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\" id=\"5.(o@)4??y0/k{XK-!y[\">projectile</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"spritescreateprojectilefromsprite\"><value name=\"img\"><shadow type=\"screen_image_picker\"><field name=\"img\">assets.image`Dart1`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.image21\"}}</data></shadow></value><value name=\"sprite\"><shadow type=\"variables_get\"><field name=\"VAR\" id=\"R7dik,CiE;B047o!sYUb\">mySprite</field></shadow></value><value name=\"vx\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">0</field></shadow></value><value name=\"vy\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">-150</field></shadow></value></block></value><next><block type=\"startEffectOnSprite\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"true\"></mutation><field name=\"effect\">effects.ashes</field><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"5.(o@)4??y0/k{XK-!y[\">projectile</field></block></value><value name=\"duration\"><shadow type=\"timePicker\"><field name=\"ms\">100</field></shadow></value></block></next></block></statement></block><block type=\"spritesoverlap\" x=\"841\" y=\"405\"><value name=\"HANDLER_DRAG_PARAM_sprite\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">sprite</field></shadow></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Player</field></shadow></value><value name=\"HANDLER_DRAG_PARAM_otherSprite\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">otherSprite</field></shadow></value><value name=\"otherKind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Enemy</field></shadow></value><statement name=\"HANDLER\"><block type=\"hudChangeLifeBy\"><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">-1</field></shadow></value><next><block type=\"spritedestroy\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"2\" _input_init=\"true\"></mutation><field name=\"effect\">effects.disintegrate</field><value name=\"sprite\"><block type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">otherSprite</field></block></value><value name=\"duration\"><shadow type=\"timePicker\"><field name=\"ms\">500</field></shadow></value></block></next></block></statement></block><block type=\"spritesoverlap\" x=\"30\" y=\"490\"><value name=\"HANDLER_DRAG_PARAM_sprite\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">sprite</field></shadow></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Projectile</field></shadow></value><value name=\"HANDLER_DRAG_PARAM_otherSprite\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">otherSprite</field></shadow></value><value name=\"otherKind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Enemy</field></shadow></value><statement name=\"HANDLER\"><block type=\"spritedestroy\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"2\" _input_init=\"true\"></mutation><field name=\"effect\">effects.fire</field><value name=\"sprite\"><block type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">sprite</field></block></value><value name=\"duration\"><shadow type=\"timePicker\"><field name=\"ms\">100</field></shadow></value><next><block type=\"spritedestroy\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"true\"></mutation><field name=\"effect\">effects.smiles</field><value name=\"sprite\"><block type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">otherSprite</field></block></value><value name=\"duration\"><shadow type=\"timePicker\"><field name=\"ms\">500</field></shadow></value><next><block type=\"hudChangeScoreBy\"><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></next></block></next></block></statement></block><block type=\"gameinterval\" x=\"540\" y=\"640\"><value name=\"period\"><shadow type=\"timePicker\"><field name=\"ms\">5000</field></shadow></value><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\" id=\"T}Ip%yy]AU9bxdT0UDp1\">myFuel</field><value name=\"VALUE\"><shadow xmlns=\"http://www.w3.org/1999/xhtml\" type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"spritescreateprojectilefromside\"><value name=\"img\"><shadow type=\"screen_image_picker\"><field name=\"img\">assets.image`Fuel`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.xlh}4fdz:|FpuFr9_v_b\"}}</data></shadow></value><value name=\"vx\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">0</field></shadow></value><value name=\"vy\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">100</field></shadow></value></block></value><next><block type=\"Sprite_blockCombine_set\"><field name=\"property\">Sprite.x@set</field><value name=\"mySprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"T}Ip%yy]AU9bxdT0UDp1\">myFuel</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"device_random\"><value name=\"min\"><shadow type=\"math_number\"><field name=\"NUM\">5</field></shadow></value><value name=\"limit\"><shadow type=\"math_number\"><field name=\"NUM\">155</field></shadow></value></block></value><next><block type=\"spritesetkind\"><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"T}Ip%yy]AU9bxdT0UDp1\">myFuel</field></block></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Gas</field></shadow></value></block></next></block></next></block></statement></block><block type=\"gameinterval\" x=\"80\" y=\"740\"><value name=\"period\"><shadow type=\"timePicker\"><field name=\"ms\">300</field></shadow></value><statement name=\"HANDLER\"><block type=\"StatusBarSprite_blockCombine_change\"><field name=\"property\">StatusBarSprite.value@set</field><value name=\"statusbar\"><block type=\"variables_get\"><field name=\"VAR\" id=\"0EIjmPrHvl2fFOH-}hD5\">statusbar</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">-1</field></shadow></value></block></statement></block><block type=\"spritesoverlap\" x=\"540\" y=\"920\"><value name=\"HANDLER_DRAG_PARAM_sprite\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">sprite</field></shadow></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Player</field></shadow></value><value name=\"HANDLER_DRAG_PARAM_otherSprite\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">otherSprite</field></shadow></value><value name=\"otherKind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Gas</field></shadow></value><statement name=\"HANDLER\"><block type=\"StatusBarSprite_blockCombine_set\"><field name=\"property\">StatusBarSprite.value@set</field><value name=\"statusbar\"><block type=\"variables_get\"><field name=\"VAR\" id=\"0EIjmPrHvl2fFOH-}hD5\">statusbar</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">100</field></shadow></value><next><block type=\"spritedestroy\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"sprite\"><block type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">otherSprite</field></block></value></block></next></block></statement></block><block type=\"statusbars_onZero\" x=\"420\" y=\"1100\"><value name=\"kind\"><shadow type=\"statusbars_kind\"><field name=\"MEMBER\">Energy</field></shadow></value><value name=\"HANDLER_DRAG_PARAM_status\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"StatusBarSprite\"/><field name=\"VALUE\">status</field></shadow></value><statement name=\"HANDLER\"><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\">false</field></shadow></value></block></statement></block></xml>",
|
|
369
|
+
"main.ts": "namespace SpriteKind {\n export const Gas = SpriteKind.create()\n}\ncontroller.A.onEvent(ControllerButtonEvent.Pressed, function () {\n projectile = sprites.createProjectileFromSprite(assets.image`Dart1`, mySprite, 0, -150)\n projectile.startEffect(effects.ashes)\n})\nsprites.onOverlap(SpriteKind.Player, SpriteKind.Gas, function (sprite, otherSprite) {\n statusbar.value = 100\n otherSprite.destroy()\n})\nstatusbars.onZero(StatusBarKind.Energy, function (status) {\n game.over(false)\n})\nsprites.onOverlap(SpriteKind.Projectile, SpriteKind.Enemy, function (sprite, otherSprite) {\n sprite.destroy(effects.fire, 100)\n otherSprite.destroy()\n info.changeScoreBy(1)\n})\nsprites.onOverlap(SpriteKind.Player, SpriteKind.Enemy, function (sprite, otherSprite) {\n info.changeLifeBy(-1)\n otherSprite.destroy(effects.disintegrate, 500)\n})\nlet myEnemy: Sprite = null\nlet myFuel: Sprite = null\nlet projectile: Sprite = null\nlet statusbar: StatusBarSprite = null\nlet mySprite: Sprite = null\nscene.setBackgroundImage(assets.image`Galaxy`)\nmySprite = sprites.create(assets.image`Rocket`, SpriteKind.Player)\ncontroller.moveSprite(mySprite, 100, 100)\nmySprite.setFlag(SpriteFlag.StayInScreen, true)\nstatusbar = statusbars.create(20, 4, StatusBarKind.Energy)\nstatusbar.attachToSprite(mySprite, -30, 0)\nmySprite.y = 100\ngame.onUpdateInterval(5000, function () {\n myFuel = sprites.createProjectileFromSide(assets.image`Fuel`, 0, 100)\n myFuel.x = randint(5, 155)\n myFuel.setKind(SpriteKind.Gas)\n})\ngame.onUpdateInterval(2000, function () {\n myEnemy = sprites.createProjectileFromSide(assets.image`Spider`, 0, 50)\n myEnemy.x = randint(5, 155)\n myEnemy.setKind(SpriteKind.Enemy)\n})\ngame.onUpdateInterval(300, function () {\n statusbar.value += -1\n})\n",
|
|
370
|
+
"pxt.json": "{\n \"name\": \"Fuel Up\",\n \"description\": \"\",\n \"dependencies\": {\n \"device\": \"*\",\n \"pxt-status-bar\": \"github:jwunderl/pxt-status-bar\"\n },\n \"files\": [\n \"main.blocks\",\n \"main.ts\",\n \"README.md\",\n \"assets.json\",\n \"images.g.jres\",\n \"images.g.ts\",\n \"tilemap.g.jres\",\n \"tilemap.g.ts\"\n ],\n \"targetVersions\": {\n \"branch\": \"v1.4.43\",\n \"tag\": \"v1.4.43\",\n \"commits\": \"https://github.com/microsoft/pxt-arcade/commits/d613fa29c3c700e4b7d90381ed39b7e65b0de04e\",\n \"target\": \"1.4.43\",\n \"pxt\": \"6.12.25\"\n },\n \"preferredEditor\": \"blocksprj\"\n}\n",
|
|
371
|
+
"tilemap.g.jres": "{\n \"transparency16\": {\n \"data\": \"hwQQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"tilemapTile\": true\n },\n \"*\": {\n \"mimeType\": \"image/x-mkcd-f4\",\n \"dataEncoding\": \"base64\",\n \"namespace\": \"myTiles\"\n }\n}",
|
|
372
|
+
"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\n helpers._registerFactory(\"tile\", function(name: string) {\n switch(helpers.stringTrim(name)) {\n case \"transparency16\":return transparency16;\n }\n return null;\n })\n\n}\n// Auto-generated code. Do not edit.\n"
|
|
373
|
+
}
|
|
374
|
+
```
|