pxt-arcade 1.10.10 → 1.10.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/target.js +148 -172
- package/built/target.json +148 -172
- package/built/targetlight.json +9 -33
- package/docs/skillmap/balloon/balloon2.md +1 -1
- package/docs/skillmap/mole/mole1.md +9 -9
- package/docs/skillmap/mole/{mole1old.md → mole1a.md} +474 -66
- package/docs/skillmap/mole/mole2a.md +755 -0
- package/docs/skillmap/mole/mole3a.md +641 -0
- package/docs/skillmap/mole.md +1 -1
- package/docs/skillmap/molea.md +75 -0
- package/docs/skillmap/turkey/turkey0.md +53 -34
- package/docs/skillmap/turkey/turkey1a.md +35 -25
- package/docs/tutorials/valentine.md +1 -1
- package/package.json +3 -3
- package/pxtarget.json +2 -2
|
@@ -0,0 +1,755 @@
|
|
|
1
|
+
# Hammer Time
|
|
2
|
+
### @explicitHints true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## {Intro @showdialog}
|
|
6
|
+
|
|
7
|
+
Your code from the last activity is already in the workspace.
|
|
8
|
+
|
|
9
|
+
Let's use **SPRITES** and **EVENTS** to add a rubber hammer that can tag our mole.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+

|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## {2. Play Your Game}
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
**Refresh your memory around what your code does.**
|
|
21
|
+
|
|
22
|
+
- :binoculars: Take a look at the **mini game window**. You should see a mole that hops from hole to hole every second.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
💡 **Tip:** _If your code isn't working and you can't figure out why, click "Replace my code" to replace the blocks in your workspace with new starter code._
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## {3. Add the Hammer}
|
|
33
|
+
|
|
34
|
+
Let's add another **SPRITE** to act as our rubber hammer.
|
|
35
|
+
|
|
36
|
+
- :paper plane: From the ``||sprites: Sprites||`` category in the toolbox, grab <br/>
|
|
37
|
+
|
|
38
|
+
```block
|
|
39
|
+
let mySprite2 = sprites.create(img`.`, SpriteKind.Player)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
and snap it inside and at the very **end** of the
|
|
43
|
+
``||loops: on start||``
|
|
44
|
+
block container that's already in your workspace.
|
|
45
|
+
|
|
46
|
+
- :mouse pointer: Click the empty square and when the image editor opens, switch to **My Assets** to select the **hammer** sprite.
|
|
47
|
+

|
|
48
|
+
Then click **Done**.
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
- :mouse pointer: Click the ``||variables:mySprite2||`` title inside the block and
|
|
52
|
+
choose **rename variable** to set the title to ``||variables:myHammer||``.
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
~hint Show me how! 🕵🏽
|
|
56
|
+
|
|
57
|
+

|
|
58
|
+
|
|
59
|
+
hint~
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
#### ~ tutorialhint
|
|
65
|
+
|
|
66
|
+
```blocks
|
|
67
|
+
let mySprite: Sprite = null
|
|
68
|
+
let myHammer: Sprite = null
|
|
69
|
+
scene.setBackgroundImage(assets.image`grid`)
|
|
70
|
+
mySprite = sprites.create(assets.image`mole`, SpriteKind.Enemy)
|
|
71
|
+
myHammer = sprites.create(assets.image`hammer`, SpriteKind.Player)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
## {4. Move the Hammer}
|
|
76
|
+
|
|
77
|
+
We need to be able to move the hammer around the screen to chase the mole.
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
- :controller: From the ``||controller: Controller||`` category, grab <br/>
|
|
81
|
+
```block
|
|
82
|
+
controller.move_only_onscreen_with_arrows(myHammer, speeds.Fast)
|
|
83
|
+
```
|
|
84
|
+
and snap it in at **the end** of the ``||loops: on start||`` block already in the workspace.
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
~hint Click here to see how 🕵🏽
|
|
88
|
+
|
|
89
|
+

|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
hint~
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
#### ~ tutorialhint
|
|
99
|
+
|
|
100
|
+
```blocks
|
|
101
|
+
let mySprite: Sprite = null
|
|
102
|
+
let myHammer: Sprite = null
|
|
103
|
+
scene.setBackgroundImage(assets.image`grid`)
|
|
104
|
+
mySprite = sprites.create(assets.image`mole`, SpriteKind.Enemy)
|
|
105
|
+
myHammer = sprites.create(assets.image`hammer`, SpriteKind.Player)
|
|
106
|
+
controller.move_only_onscreen_with_arrows(myHammer, speeds.Fast)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
## {5. Check Your Game!}
|
|
112
|
+
|
|
113
|
+
Let's test the action in the bigger game window!
|
|
114
|
+
|
|
115
|
+
- :binoculars: Click the mini **game window** in the bottom corner to open the **bigger game window**!
|
|
116
|
+
|
|
117
|
+
Try using the on-screen joypad or the arrow keys on your keyboard to move the hammer around the screen.
|
|
118
|
+
|
|
119
|
+
- :mouse pointer: Don't forget to click **Next** to get back to the instructions when you're done playing.
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
## {6. Add the Overlap}
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
Did you notice that nothing happened when the hammer overlapped the mole?
|
|
131
|
+
|
|
132
|
+
That's because we haven't created an **EVENT** for that yet!
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
- :paper plane: From the ``||sprites: Sprites||`` category, grab <br/>
|
|
136
|
+
|
|
137
|
+
```blocks
|
|
138
|
+
sprites.onOverlap(SpriteKind.Player, SpriteKind.Player, function (sprite, otherSprite) { })
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
and drag it to an **empty** area of the workspace.
|
|
142
|
+
|
|
143
|
+
- :mouse pointer: Change the second kind from ``||sprites: Player||`` to ``||sprites: Enemy||`` so the event will be triggered when the **Player overlaps the Enemy** (when the hammer overlaps the mole).
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
~hint Show me how! 🕵🏽
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+

|
|
150
|
+
|
|
151
|
+
hint~
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
#### ~ tutorialhint
|
|
157
|
+
|
|
158
|
+
```blocks
|
|
159
|
+
sprites.onOverlap(SpriteKind.Player, SpriteKind.Enemy, function (sprite, otherSprite) { })
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
## {7. Add a Point}
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
Let's make this game more exciting by adding points when the hammer overlaps the mole!
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
- :id card: From the ``||info: Info||`` category, grab <br/>
|
|
171
|
+
|
|
172
|
+
```block
|
|
173
|
+
info.changeScoreBy(1)
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
and snap it into **the empty** ``||sprites: on sprite overlaps otherSprite||`` block container already in the workspace.
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
~hint Show me how! 🕵🏽
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+

|
|
184
|
+
|
|
185
|
+
hint~
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
#### ~ tutorialhint
|
|
192
|
+
|
|
193
|
+
```blocks
|
|
194
|
+
sprites.onOverlap(SpriteKind.Player, SpriteKind.Enemy, function (sprite, otherSprite) {
|
|
195
|
+
info.changeScoreBy(1)
|
|
196
|
+
})
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
## {8. Check Your Game Again!}
|
|
203
|
+
|
|
204
|
+
Let's test the points in the bigger game window!
|
|
205
|
+
|
|
206
|
+
- :binoculars: Click the mini **game window** in the bottom corner to open the **bigger game window**!
|
|
207
|
+
|
|
208
|
+
When your rubber hammer overlaps the mole, you should see points start to show up in the top-right corner.
|
|
209
|
+
|
|
210
|
+
- :mouse pointer: Don't forget to click **Next** to get back to the instructions when you're done playing.
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
## {9. Too Many Points}
|
|
217
|
+
|
|
218
|
+
Did you notice that the points added up really quickly when the rubber hammer stayed above the mole? Let's fix that.
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
- :paper plane: From the ``||sprites: Sprites||`` category, grab <br/>
|
|
222
|
+
|
|
223
|
+
```block
|
|
224
|
+
sprites.move_to_random_hole_on_grid(mySprite)
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
and snap it into **the end** of the ``||sprites: on sprite overlaps otherSprite||`` block container already in the workspace.
|
|
228
|
+
|
|
229
|
+
Now, when the rubber hammer tags the mole, the mole will quickly run away!
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
~hint Show me how! 🕵🏽
|
|
233
|
+
|
|
234
|
+

|
|
235
|
+
|
|
236
|
+
hint~
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
#### ~ tutorialhint
|
|
242
|
+
|
|
243
|
+
```blocks
|
|
244
|
+
sprites.onOverlap(SpriteKind.Player, SpriteKind.Enemy, function (sprite, otherSprite) {
|
|
245
|
+
info.changeScoreBy(1)
|
|
246
|
+
sprites.move_to_random_hole_on_grid(mySprite)
|
|
247
|
+
})
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
## {10. Check Your Game!}
|
|
254
|
+
|
|
255
|
+
Try your game again!
|
|
256
|
+
|
|
257
|
+
- :binoculars: Click the mini **game window** in the bottom corner to open the **bigger game window**!
|
|
258
|
+
|
|
259
|
+
You should get one point each time you tag the mole with the rubber hammer, then the mole should hop to another spot.
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
## {11. Timer}
|
|
268
|
+
|
|
269
|
+
Finally, let's add a timer to keep the game exciting.
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
- :id card: From the ``||info: Info||`` category, grab <br/>
|
|
273
|
+
|
|
274
|
+
```block
|
|
275
|
+
info.startCountdownGame(15, winTypes.Score)
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
and snap it into **the end** of the ``||loops: on start||`` block container already in the workspace.
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
~hint Show me how! 🕵🏽
|
|
282
|
+
|
|
283
|
+
 and game over high score")
|
|
284
|
+
|
|
285
|
+
hint~
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
#### ~ tutorialhint
|
|
291
|
+
|
|
292
|
+
```blocks
|
|
293
|
+
let mySprite: Sprite = null
|
|
294
|
+
let myHammer: Sprite = null
|
|
295
|
+
scene.setBackgroundImage(assets.image`grid`)
|
|
296
|
+
mySprite = sprites.create(assets.image`mole`, SpriteKind.Enemy)
|
|
297
|
+
myHammer = sprites.create(assets.image`hammer`, SpriteKind.Player)
|
|
298
|
+
controller.move_only_onscreen_with_arrows(myHammer, speeds.Fast)
|
|
299
|
+
info.startCountdownGame(15, winTypes.Score)
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
## {12. Play your game!}
|
|
306
|
+
|
|
307
|
+
Play your game!
|
|
308
|
+
|
|
309
|
+
- :binoculars: Click the mini **game window** in the bottom corner to open the **bigger game window**!
|
|
310
|
+
|
|
311
|
+
You should get one point each time you tag the mole with the rubber hammer, then the mole should hop to another spot. Time should run out after 15 seconds and your high score should display!
|
|
312
|
+
|
|
313
|
+
**Can you get 15 points before the timer runs out?**
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
## {13. Finale}
|
|
324
|
+
|
|
325
|
+
**🥳 You got it! 🥳**
|
|
326
|
+
|
|
327
|
+
You have a playable Whack-the-Mole game.
|
|
328
|
+
|
|
329
|
+
When you're ready, click **Done** to return to the skillmap so you can add sound and animation to your game!
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
```package
|
|
338
|
+
simple-blocks=github:microsoft/arcade-tutorial-extensions/simple-blocks/
|
|
339
|
+
arcade-text=github:microsoft/arcade-text/
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
```template
|
|
344
|
+
|
|
345
|
+
let mySprite: Sprite = null
|
|
346
|
+
scene.setBackgroundImage(assets.image`grid`)
|
|
347
|
+
mySprite = sprites.create(assets.image`mole`, SpriteKind.Enemy)
|
|
348
|
+
|
|
349
|
+
game.onUpdateInterval(1000, function () {
|
|
350
|
+
sprites.move_to_random_hole_on_grid(mySprite)
|
|
351
|
+
})
|
|
352
|
+
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
```customts
|
|
359
|
+
|
|
360
|
+
enum winTypes {
|
|
361
|
+
//% block="win game"
|
|
362
|
+
Win,
|
|
363
|
+
//% block="lose game"
|
|
364
|
+
Lose,
|
|
365
|
+
//% block="high score"
|
|
366
|
+
Score,
|
|
367
|
+
//% block="multiplayer"
|
|
368
|
+
Multi
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
enum speeds {
|
|
372
|
+
//% block="fast"
|
|
373
|
+
Fast,
|
|
374
|
+
//% block="medium"
|
|
375
|
+
Med,
|
|
376
|
+
//% block="slow"
|
|
377
|
+
Slow
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
enum areas {
|
|
381
|
+
//% block="top"
|
|
382
|
+
Top,
|
|
383
|
+
//% block="middle"
|
|
384
|
+
Mid,
|
|
385
|
+
//% block="bottom"
|
|
386
|
+
Bottom
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
let textSprite: TextSprite = null
|
|
390
|
+
//let fanfare: effects.BackgroundEffect = undefined;
|
|
391
|
+
//let winStyle = winTypes.Score
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
namespace animation {
|
|
396
|
+
/**
|
|
397
|
+
* Prefills animation block with hammer items
|
|
398
|
+
*/
|
|
399
|
+
//% color="#03aa74"
|
|
400
|
+
//% blockId=run-image-animation-hammer
|
|
401
|
+
//% block="animate $sprite=variables_get(myHammer) frames $frames=animation_editor interval (ms) $frameInterval=timePicker loop $loop=toggleOnOff"
|
|
402
|
+
//% frameInterval.defl=100
|
|
403
|
+
//% group="Animate"
|
|
404
|
+
//% weight=100
|
|
405
|
+
//% help=animation/run-image-animation-hammer
|
|
406
|
+
export function runImageAnimationHammer(sprite: Sprite, frames: Image[], frameInterval?: number, loop?: boolean) {
|
|
407
|
+
const anim = new ImageAnimation(sprite, frames, frameInterval || 100, !!loop);
|
|
408
|
+
anim.init();
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
namespace scene {
|
|
415
|
+
/**
|
|
416
|
+
* Adds text to the top, middle, or bottom
|
|
417
|
+
* of screen as defined by circuis games
|
|
418
|
+
*/
|
|
419
|
+
//% color="#4b6584"
|
|
420
|
+
//% blockId=add_label_to
|
|
421
|
+
//% block="add label $myLabel to $myPosition" of window
|
|
422
|
+
//% myLabel.defl="Whack-the-Mole"
|
|
423
|
+
//% myPosition.defl=areas.Bottom
|
|
424
|
+
//% inlineInputMode=inline
|
|
425
|
+
export function add_label_to(myLabel: string, myPosition: areas) {
|
|
426
|
+
textSprite = textsprite.create(myLabel)
|
|
427
|
+
if (myPosition == areas.Bottom) textSprite.setPosition(80, 110);
|
|
428
|
+
if (myPosition == areas.Mid) textSprite.setPosition(80, 60);
|
|
429
|
+
if (myPosition == areas.Top) textSprite.setPosition(80, 20);
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
namespace controller{
|
|
434
|
+
|
|
435
|
+
/**
|
|
436
|
+
* Combines a simple "move with arrows"
|
|
437
|
+
* and stay in screen
|
|
438
|
+
*/
|
|
439
|
+
//% color="#d54322"
|
|
440
|
+
//% blockId=move_only_onscreen_with_arrows
|
|
441
|
+
//% block="move $thisSprite=variables_get(myHammer) on screen with speed $mySpeed"
|
|
442
|
+
//% mySpeed.defl=speeds.Fast
|
|
443
|
+
//% inlineInputMode=inline
|
|
444
|
+
export function move_only_onscreen_with_arrows(thisSprite: Sprite, mySpeed: speeds) {
|
|
445
|
+
thisSprite.setStayInScreen(true)
|
|
446
|
+
if (mySpeed == speeds.Fast) {
|
|
447
|
+
controller.moveSprite(thisSprite, 225, 225)
|
|
448
|
+
} else if (mySpeed == speeds.Med) {
|
|
449
|
+
controller.moveSprite(thisSprite, 175, 175)
|
|
450
|
+
} else {
|
|
451
|
+
controller.moveSprite(thisSprite, 100, 100)
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
namespace sprites {
|
|
458
|
+
|
|
459
|
+
/**
|
|
460
|
+
* Randomly moves mole to one of the holes on grid
|
|
461
|
+
*/
|
|
462
|
+
//% color="#4b7bec"
|
|
463
|
+
//% blockId=move_to_random_hole_on_grid
|
|
464
|
+
//% block="move sprite $thisSprite=variables_get(mySprite) to random area"
|
|
465
|
+
//% inlineInputMode=inline
|
|
466
|
+
export function move_to_random_hole_on_grid(thisSprite: Sprite) {
|
|
467
|
+
thisSprite.setPosition(simplified.chooseRandomNumber(28, 80, 130), simplified.chooseRandomNumber(21, 53, 85))
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
namespace info {
|
|
472
|
+
let countdownInitialized = false;
|
|
473
|
+
/**
|
|
474
|
+
* Adds game end style to countdown
|
|
475
|
+
*/
|
|
476
|
+
//% color="#cf6a87"
|
|
477
|
+
//% group=countdown
|
|
478
|
+
//% blockId=start_countdown_game
|
|
479
|
+
//% block="start countdown $myTime (s) and game over $winType || effect $winEffect"
|
|
480
|
+
//% myTime.defl=15
|
|
481
|
+
//% winType.defl=winTypes.Score
|
|
482
|
+
//% winEffect.defl=effects.confetti
|
|
483
|
+
//% inlineInputMode=inline
|
|
484
|
+
export function startCountdownGame(myTime: number, winType: winTypes, winEffect?: effects.BackgroundEffect) {
|
|
485
|
+
if (!winType)
|
|
486
|
+
winType = winTypes.Win;
|
|
487
|
+
if (!winEffect && winType != winTypes.Lose){
|
|
488
|
+
winEffect = effects.confetti;
|
|
489
|
+
}
|
|
490
|
+
else { winEffect = effects.melt;}
|
|
491
|
+
init(winType, winEffect);
|
|
492
|
+
info.startCountdown(myTime)
|
|
493
|
+
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
export function newGameOver(winStyle: winTypes, fanfare: effects.BackgroundEffect) {
|
|
497
|
+
|
|
498
|
+
// Prep default variables for different win types
|
|
499
|
+
let winnerNumber = 1;
|
|
500
|
+
let thisHigh = 0;
|
|
501
|
+
|
|
502
|
+
// Save all scores as relevant to the game.
|
|
503
|
+
info.saveAllScores();
|
|
504
|
+
|
|
505
|
+
// collect the scores before popping the scenes
|
|
506
|
+
const scoreInfo1 = info.player1.getState();
|
|
507
|
+
const scoreInfo2 = info.player2.getState();
|
|
508
|
+
const scoreInfo3 = info.player3.getState();
|
|
509
|
+
const scoreInfo4 = info.player4.getState();
|
|
510
|
+
const highScore = info.highScore();
|
|
511
|
+
const allScores = [scoreInfo1.score, scoreInfo2.score, scoreInfo3.score, scoreInfo4.score];
|
|
512
|
+
|
|
513
|
+
// Find player with highest score
|
|
514
|
+
for (let i = 0; i < 4; i++) {
|
|
515
|
+
if (allScores[i] > thisHigh) {
|
|
516
|
+
thisHigh = allScores[i];
|
|
517
|
+
winnerNumber = i+1;
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
// If highest score is higher than saved high, replace
|
|
521
|
+
if (thisHigh > highScore){
|
|
522
|
+
info.saveHighScore(); }
|
|
523
|
+
|
|
524
|
+
|
|
525
|
+
// releasing memory and clear fibers. Do not add anything that releases the fiber until background is set below,
|
|
526
|
+
// or screen will be cleared on the new frame and will not appear as background in the game over screen.
|
|
527
|
+
game.popScene();
|
|
528
|
+
game.pushScene();
|
|
529
|
+
scene.setBackgroundImage(screen.clone());
|
|
530
|
+
|
|
531
|
+
music.powerUp.play();
|
|
532
|
+
|
|
533
|
+
fanfare.startScreenEffect();
|
|
534
|
+
|
|
535
|
+
pause(400);
|
|
536
|
+
|
|
537
|
+
const overDialog = new GameOverDialog(true, thisHigh, highScore, winnerNumber, winStyle);
|
|
538
|
+
scene.createRenderable(scene.HUD_Z, target => {
|
|
539
|
+
overDialog.update();
|
|
540
|
+
target.drawTransparentImage(
|
|
541
|
+
overDialog.image,
|
|
542
|
+
0,
|
|
543
|
+
(screen.height - overDialog.image.height) >> 1
|
|
544
|
+
);
|
|
545
|
+
});
|
|
546
|
+
pause(500); // wait for users to stop pressing keys
|
|
547
|
+
overDialog.displayCursor();
|
|
548
|
+
game.waitAnyButton();
|
|
549
|
+
control.reset();
|
|
550
|
+
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
function init(winStyle: winTypes, fanfare: effects.BackgroundEffect) {
|
|
554
|
+
if (countdownInitialized) return;
|
|
555
|
+
countdownInitialized = true;
|
|
556
|
+
|
|
557
|
+
info.onCountdownEnd(function () {
|
|
558
|
+
if (winStyle == winTypes.Win) {
|
|
559
|
+
game.over(true, fanfare)
|
|
560
|
+
} else if (winStyle == winTypes.Lose) {
|
|
561
|
+
game.over(false, fanfare)
|
|
562
|
+
} else {
|
|
563
|
+
newGameOver(winStyle, fanfare);
|
|
564
|
+
}
|
|
565
|
+
})
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
export class GameOverDialog extends game.BaseDialog {
|
|
569
|
+
protected cursorOn: boolean;
|
|
570
|
+
protected isNewHighScore: boolean;
|
|
571
|
+
|
|
572
|
+
constructor(
|
|
573
|
+
protected win: boolean,
|
|
574
|
+
protected score?: number,
|
|
575
|
+
protected highScore?: number,
|
|
576
|
+
protected winnerNum?: number,
|
|
577
|
+
protected winStyle?: winTypes
|
|
578
|
+
) {
|
|
579
|
+
super(screen.width, 46, img`
|
|
580
|
+
1 1 1
|
|
581
|
+
f f f
|
|
582
|
+
1 1 1
|
|
583
|
+
`);
|
|
584
|
+
this.cursorOn = false;
|
|
585
|
+
this.isNewHighScore = this.score > this.highScore;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
displayCursor() {
|
|
589
|
+
this.cursorOn = true;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
update() {
|
|
593
|
+
this.clearInterior();
|
|
594
|
+
this.drawTextCore();
|
|
595
|
+
|
|
596
|
+
if (this.cursorOn) {
|
|
597
|
+
this.drawCursorRow();
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
drawTextCore() {
|
|
602
|
+
const titleHeight = 8;
|
|
603
|
+
if (this.winStyle == winTypes.Multi){
|
|
604
|
+
this.image.printCenter(
|
|
605
|
+
"Player " + this.winnerNum + " wins!",
|
|
606
|
+
titleHeight,
|
|
607
|
+
screen.isMono ? 1 : 5,
|
|
608
|
+
image.font8
|
|
609
|
+
);
|
|
610
|
+
|
|
611
|
+
if (this.score !== undefined) {
|
|
612
|
+
const scoreHeight = 23;
|
|
613
|
+
const highScoreHeight = 34;
|
|
614
|
+
const scoreColor = screen.isMono ? 1 : 2;
|
|
615
|
+
|
|
616
|
+
this.image.printCenter(
|
|
617
|
+
"Score:" + this.score,
|
|
618
|
+
scoreHeight,
|
|
619
|
+
scoreColor,
|
|
620
|
+
image.font8
|
|
621
|
+
);
|
|
622
|
+
|
|
623
|
+
if (this.isNewHighScore) {
|
|
624
|
+
this.image.printCenter(
|
|
625
|
+
"New High Score!",
|
|
626
|
+
highScoreHeight,
|
|
627
|
+
scoreColor,
|
|
628
|
+
image.font5
|
|
629
|
+
);
|
|
630
|
+
} else {
|
|
631
|
+
this.image.printCenter(
|
|
632
|
+
"HI:" + this.highScore,
|
|
633
|
+
highScoreHeight,
|
|
634
|
+
scoreColor,
|
|
635
|
+
image.font8
|
|
636
|
+
);
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
else {
|
|
641
|
+
this.image.printCenter(
|
|
642
|
+
"Great Job!",
|
|
643
|
+
titleHeight,
|
|
644
|
+
screen.isMono ? 1 : 5,
|
|
645
|
+
image.font8
|
|
646
|
+
);
|
|
647
|
+
|
|
648
|
+
if (this.score !== undefined) {
|
|
649
|
+
const scoreHeight = 23;
|
|
650
|
+
const highScoreHeight = 34;
|
|
651
|
+
const scoreColor = screen.isMono ? 1 : 2;
|
|
652
|
+
|
|
653
|
+
this.image.printCenter(
|
|
654
|
+
"Score:" + this.score,
|
|
655
|
+
scoreHeight,
|
|
656
|
+
scoreColor,
|
|
657
|
+
image.font8
|
|
658
|
+
);
|
|
659
|
+
|
|
660
|
+
if (this.isNewHighScore) {
|
|
661
|
+
this.image.printCenter(
|
|
662
|
+
"New High Score!",
|
|
663
|
+
highScoreHeight,
|
|
664
|
+
scoreColor,
|
|
665
|
+
image.font5
|
|
666
|
+
);
|
|
667
|
+
} else {
|
|
668
|
+
this.image.printCenter(
|
|
669
|
+
"HI:" + this.highScore,
|
|
670
|
+
highScoreHeight,
|
|
671
|
+
scoreColor,
|
|
672
|
+
image.font8
|
|
673
|
+
);
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
namespace game {
|
|
682
|
+
/**
|
|
683
|
+
* Adds additional end game styles
|
|
684
|
+
*/
|
|
685
|
+
//% color="#8854d0"
|
|
686
|
+
//% group=Gameplay
|
|
687
|
+
//% blockId=on_game_over_expanded
|
|
688
|
+
//% block="game over $winType || add effect $winEffect"
|
|
689
|
+
//% winType.defl=winTypes.Win
|
|
690
|
+
//% winEffect.defl=effects.confetti
|
|
691
|
+
//% inlineInputMode=inline
|
|
692
|
+
export function onGameOverExpanded(winStyle: winTypes, winEffect?: effects.BackgroundEffect) {
|
|
693
|
+
if (!winStyle)
|
|
694
|
+
winStyle = winTypes.Win;
|
|
695
|
+
if (!winEffect && winStyle != winTypes.Lose) {
|
|
696
|
+
winEffect = effects.confetti;
|
|
697
|
+
}
|
|
698
|
+
else { winEffect = effects.melt; }
|
|
699
|
+
|
|
700
|
+
if (winStyle == winTypes.Win) {
|
|
701
|
+
game.over(true, winEffect)
|
|
702
|
+
} else if (winStyle == winTypes.Lose) {
|
|
703
|
+
game.over(false, winEffect)
|
|
704
|
+
} else {
|
|
705
|
+
info.newGameOver(winStyle, winEffect);
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
namespace simplified {
|
|
711
|
+
/**
|
|
712
|
+
* Randomly chooses one of the parameter numbers
|
|
713
|
+
*
|
|
714
|
+
* @param choice1 Numeric choice to appear in the list of player choices
|
|
715
|
+
* @param choice2 Numeric choice to appear in the list of player choices
|
|
716
|
+
* @param choice3 Numeric choice to appear in the list of player choices
|
|
717
|
+
* @param choice4 Numeric choice to appear in the list of player choices
|
|
718
|
+
* @param choice5 Numeric choice to appear in the list of player choices
|
|
719
|
+
*/
|
|
720
|
+
|
|
721
|
+
//% group=Arrays
|
|
722
|
+
//% color="#fa8f08"
|
|
723
|
+
//% blockId=choose_random_num_from_array
|
|
724
|
+
//% block="choose one of $choice1 $choice2 $choice3 || $choice4 $choice5"
|
|
725
|
+
//% choice1.defl=28
|
|
726
|
+
//% choice2.defl=80
|
|
727
|
+
//% choice3.defl=130
|
|
728
|
+
//% inlineInputMode=inline
|
|
729
|
+
export function chooseRandomNumber(choice1: number, choice2: number, choice3: number, choice4?: number, choice5?: number) {
|
|
730
|
+
let myList = [choice1, choice2];
|
|
731
|
+
if (choice3) myList.push(choice3);
|
|
732
|
+
if (choice4) myList.push(choice4);
|
|
733
|
+
if (choice5) myList.push(choice5);
|
|
734
|
+
return myList._pickRandom();
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
|
|
738
|
+
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
```
|
|
742
|
+
|
|
743
|
+
|
|
744
|
+
```assetjson
|
|
745
|
+
{
|
|
746
|
+
"README.md": " ",
|
|
747
|
+
"assets.json": "",
|
|
748
|
+
"custom.ts": "",
|
|
749
|
+
"images.g.jres": "{\n \"Qv@;p79@e|(fGBFKaJ@[\": {\n \"data\": \"hwQQABAAAAAAAO7u7u7u7gDg7u7u7u7uAO7u7u7u7u4A7u7u7u7v7gDu7v7u7v7uAO7u7u/v/u4A7v/u8+7+7gDu7u4z7v7uAO7u7jPu/u4A7v/u8+7+7gDu7u7v7/7uAO7u/u7u/u4A7u7u7u7v7gDu7u7u7u7uAODu7u7u7u4AAO7u7u7u7g==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"mole\"\n },\n \"/LJ4HDC9/+6j@JGvC7#:\": {\n \"data\": \"hwSgAHgAAABmZnZ3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d2Zm9v////////////9mZnZ3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d2Zm9v////////////9mZnZ3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d2Zm9v////////////9mZnZ3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d2Zm9v////////////9mZnZ3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d2Zm9v////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3/////3d3d3d3d3d3d3d3d/////93d3d3d3d3d3d3d3f/////d3d3d3d39/////////////93d3d3d3f3u7u7y393d3d3d3d3d3d397u7u8t/d3d3d3d3d3d3d/e7u7vLf3d3d3d39/////////////93d3d3d/e/u7u7zPx/d3d3d3d3d3f3v7u7u8z8f3d3d3d3d3d397+7u7vM/H93d3d39/////////////93d3d3d7+7u7vLzMz/d3d3d3d3d3e/u7u7y8zM/3d3d3d3d3d3v7u7u8vMzP93d3d39/////////////93d3d3d7+7u7vLzMz8d3d3d3d3d3e/u7u7y8zM/Hd3d3d3d3d3v7u7u8vMzPx3d3d39/////////////93d3d397u7u7vMzMzMf3d3d3d3d/e7u7u7zMzMzH93d3d3d3f3u7u7u8zMzMx/d3d39/////////////93d3d3v7u7u7vMzMzM/Hd3d3d3d7+7u7u7zMzMzPx3d3d3d3e/u7u7u8zMzMz8d3d39/////////////93d3d3v7u7u7vMzMzM/Hd3d3d3d7+7u7u7zMzMzPx3d3d3d3e/u7u7u8zMzMz8d3d39/////////////93d3d3v7u7u8vMzMzMzH93d3d3d7+7u7vLzMzMzMx/d3d3d3e/u7u7y8zMzMzMf3d39/////////////93d3f3u7u7u8zMzMzMzH93d3d397u7u7vMzMzMzMx/d3d3d/e7u7u7zMzMzMzMf3d39/////////////93d3f3u7u7u8zMzMzMzPx3d3d397u7u7vMzMzMzMz8d3d3d/e7u7u7zMzMzMzM/Hd39/////////////93d3f3u7u7u8zMzMzMzPx3d3d397u7u7vMzMzMzMz8d3d3d/e7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d3v7u7u7vMzMzMzMz8d3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d3v7u7u7vMzMzMzMz8d3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d3v7u7u7vMzMzMzMz8d3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d3v7u7u7vMzMzMzMz8d3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d3v7u7u7vMzMzMzMz8d3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d3v7u7u7vMzMzMzMz8d3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d3v7u7u7vMzMzMzMz8d3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d3v7u7u7vMzMzMzMz8d3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d3v7u7u7vMzMzMzMz8d3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d3v7u7u7vMzMzMzMz8d3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d3v7u7u7vMzMzMzMz8d3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d3v7u7u7vMzMzMzMz8d3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d3v7u7u7vMzMzMzMz8d3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3f3u7u7u8zMzMzMzPx3d3d397u7u7vMzMzMzMz8d3d3d/e7u7u7zMzMzMzM/Hd39/////////////93d3f3u7u7u8zMzMzMzPx3d3d397u7u7vMzMzMzMz8d3d3d/e7u7u7zMzMzMzM/Hd39/////////////93d3f3u7u7u8zMzMzMzH93d3d397u7u7vMzMzMzMx/d3d3d/e7u7u7zMzMzMzMf3d39/////////////93d3f3u7u7u8vMzMzMzH93d3d397u7u7vLzMzMzMx/d3d3d/e7u7u7y8zMzMzMf3d39/////////////93d3d3v7u7u8vMzMzM/Hd3d3d3d7+7u7vLzMzMzPx3d3d3d3e/u7u7y8zMzMz8d3d39/////////////93d3d397u7u7vMzMzM/Hd3d3d3d/e7u7u7zMzMzPx3d3d3d3f3u7u7u8zMzMz8d3d39/////////////93d3d397u7u7vMzMzMf3d3d3d3d/e7u7u7zMzMzH93d3d3d3f3u7u7u8zMzMx/d3d39/////////////93d3d3d7+7u7vMzMz8d3d3d3d3d3e/u7u7zMzM/Hd3d3d3d3d3v7u7u8zMzPx3d3d39/////////////93d3d3d/e7u7vLzMz/d3d3d3d3d3f3u7u7y8zM/3d3d3d3d3d397u7u8vMzP93d3d39/////////////93d3d3d/e/u7vLzPx/d3d3d3d3d3f3v7u7y8z8f3d3d3d3d3d397+7u8vM/H93d3d39/////////////93d3d3d3f3u7u7y3x3d3d3d3d3d3d397u7u8t8d3d3d3d3d3d3d/e7u7vLfHd3d3d39/////////////93d3d3d3d3/////3d3d3d3d3d3d3d3d/////93d3d3d3d3d3d3d3f/////d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3/////3d3d3d3d3d3d3d3d/f///9/d3d3d3d3d3d3d3f/////d3d3d3d39/////////////93d3d3d3f3u7u7y393d3d3d3d3d3d3d7+7u7v8d3d3d3d3d3d3d/e7u7vLf3d3d3d39/////////////93d3d3d/e/u7u7zPx/d3d3d3d3d3d3/7u7u8vM/3d3d3d3d3d397+7u7vM/H93d3d39/////////////93d3d3d7+7u7vLzMz/d3d3d3d3d3f3u7u7u8zM/H93d3d3d3d3v7u7u8vMzP93d3d39/////////////93d3d3d7+7u7vLzMz8d3d3d3d3d3f3u7u7u8zMzH93d3d3d3d3v7u7u8vMzPx3d3d39/////////////93d3d397u7u7vMzMzMf3d3d3d3d3e/u7u7y8zMzPx3d3d3d3f3u7u7u8zMzMx/d3d39/////////////93d3d3v7u7u7vMzMzM/Hd3d3d3d/e7u7u7y8zMzMx/d3d3d3e/u7u7u8zMzMz8d3d39/////////////93d3d3v7u7u7vMzMzM/Hd3d3d3d/e7u7u7y8zMzMx/d3d3d3e/u7u7u8zMzMz8d3d39/////////////93d3d3v7u7u8vMzMzMzH93d3d3d/e7u7u7zMzMzMz8d3d3d3e/u7u7y8zMzMzMf3d39/////////////93d3f3u7u7u8zMzMzMzH93d3d3d7+7u7vLzMzMzMz8d3d3d/e7u7u7zMzMzMzMf3d39/////////////93d3f3u7u7u8zMzMzMzPx3d3d3d7+7u7vLzMzMzMzMf3d3d/e7u7u7zMzMzMzM/Hd39/////////////93d3f3u7u7u8zMzMzMzPx3d3d3d7+7u7vLzMzMzMzMf3d3d/e7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3f3u7u7u8zMzMzMzPx3d3d3d7+7u7vLzMzMzMzMf3d3d/e7u7u7zMzMzMzM/Hd39/////////////93d3f3u7u7u8zMzMzMzPx3d3d3d7+7u7vLzMzMzMzMf3d3d/e7u7u7zMzMzMzM/Hd39/////////////93d3f3u7u7u8zMzMzMzH93d3d3d7+7u7vLzMzMzMz8d3d3d/e7u7u7zMzMzMzMf3d39/////////////93d3f3u7u7u8vMzMzMzH93d3d3d7+7u7u7zMzMzMz8d3d3d/e7u7u7y8zMzMzMf3d39/////////////93d3d3v7u7u8vMzMzM/Hd3d3d3d/e7u7u7zMzMzMx/d3d3d3e/u7u7y8zMzMz8d3d39/////////////93d3d397u7u7vMzMzM/Hd3d3d3d3e/u7u7y8zMzMx/d3d3d3f3u7u7u8zMzMz8d3d39/////////////93d3d397u7u7vMzMzMf3d3d3d3d3e/u7u7y8zMzPx3d3d3d3f3u7u7u8zMzMx/d3d39/////////////93d3d3d7+7u7vMzMz8d3d3d3d3d3f3u7u7y8zMzH93d3d3d3d3v7u7u8zMzPx3d3d39/////////////93d3d3d/e7u7vLzMz/d3d3d3d3d3d3v7u7u8zM/H93d3d3d3d397u7u8vMzP93d3d39/////////////93d3d3d/e/u7vLzPx/d3d3d3d3d3d3/7u7u8zM/3d3d3d3d3d397+7u8vM/H93d3d39/////////////93d3d3d3f3u7u7y3x3d3d3d3d3d3d3d7+7u7vMd3d3d3d3d3d3d/e7u7vLfHd3d3d39/////////////93d3d3d3d3/////3d3d3d3d3d3d3d3d/f///9/d3d3d3d3d3d3d3f/////d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3/////3d3d3d3d3d3d3d3d/f///9/d3d3d3d3d3d3d3f/////d3d3d3d39/////////////93d3d3d3f3u7u7y393d3d3d3d3d3d3d7+7u7v8d3d3d3d3d3d3d/e7u7vLf3d3d3d39/////////////93d3d3d/e/u7u7zPx/d3d3d3d3d3d3/7u7u8vM/3d3d3d3d3d397+7u7vM/H93d3d39/////////////93d3d3d7+7u7vLzMz/d3d3d3d3d3f3u7u7u8zM/H93d3d3d3d3v7u7u8vMzP93d3d39/////////////93d3d3d7+7u7vLzMz8d3d3d3d3d3f3u7u7u8zMzH93d3d3d3d3v7u7u8vMzPx3d3d39/////////////93d3d397u7u7vMzMzMf3d3d3d3d3e/u7u7y8zMzPx3d3d3d3f3u7u7u8zMzMx/d3d39/////////////93d3d3v7u7u7vMzMzM/Hd3d3d3d/e7u7u7y8zMzMx/d3d3d3e/u7u7u8zMzMz8d3d39/////////////93d3d3v7u7u7vMzMzM/Hd3d3d3d/e7u7u7y8zMzMx/d3d3d3e/u7u7u8zMzMz8d3d39/////////////93d3d3v7u7u8vMzMzMzH93d3d3d/e7u7u7zMzMzMz8d3d3d3e/u7u7y8zMzMzMf3d39/////////////93d3f3u7u7u8zMzMzMzH93d3d3d7+7u7vLzMzMzMz8d3d3d/e7u7u7zMzMzMzMf3d39/////////////93d3f3u7u7u8zMzMzMzPx3d3d3d7+7u7vLzMzMzMzMf3d3d/e7u7u7zMzMzMzM/Hd39/////////////93d3f3u7u7u8zMzMzMzPx3d3d3d7+7u7vLzMzMzMzMf3d3d/e7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3e/u7u7u8zMzMzMzPx3d3d397u7u7vLzMzMzMzMf3d3d7+7u7u7zMzMzMzM/Hd39/////////////93d3f3u7u7u8zMzMzMzPx3d3d3d7+7u7vLzMzMzMzMf3d3d/e7u7u7zMzMzMzM/Hd39/////////////93d3f3u7u7u8zMzMzMzPx3d3d3d7+7u7vLzMzMzMzMf3d3d/e7u7u7zMzMzMzM/Hd39/////////////93d3f3u7u7u8zMzMzMzH93d3d3d7+7u7vLzMzMzMz8d3d3d/e7u7u7zMzMzMzMf3d39/////////////93d3f3u7u7u8vMzMzMzH93d3d3d7+7u7u7zMzMzMz8d3d3d/e7u7u7y8zMzMzMf3d39/////////////93d3d3v7u7u8vMzMzM/Hd3d3d3d/e7u7u7zMzMzMx/d3d3d3e/u7u7y8zMzMz8d3d39/////////////93d3d397u7u7vMzMzM/Hd3d3d3d3e/u7u7y8zMzMx/d3d3d3f3u7u7u8zMzMz8d3d39/////////////93d3d397u7u7vMzMzMf3d3d3d3d3e/u7u7y8zMzPx3d3d3d3f3u7u7u8zMzMx/d3d39/////////////93d3d3d7+7u7vMzMz8d3d3d3d3d3f3u7u7y8zMzH93d3d3d3d3v7u7u8zMzPx3d3d39/////////////93d3d3d/e7u7vLzMz/d3d3d3d3d3d3v7u7u8zM/H93d3d3d3d397u7u8vMzP93d3d39/////////////93d3d3d/e/u7vLzPx/d3d3d3d3d3d3/7u7u8zM/3d3d3d3d3d397+7u8vM/H93d3d39/////////////93d3d3d3f3u7u7y3x3d3d3d3d3d3d3d7+7u7vMd3d3d3d3d3d3d/e7u7vLfHd3d3d39/////////////93d3d3d3d3/////3d3d3d3d3d3d3d3d/f///9/d3d3d3d3d3d3d3f/////d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39/////////////9mZnZ3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d2Zm9v////////////9mZnZ3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d2Zm9v////////////9mZnZ3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d2Zm9v////////////9mZnZ3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d2Zm9v////////////9mZnZ3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d2Zm9v////////////8=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"grid\"\n },\n \"Oag!`vsg+~Y,+WT2meT;\": {\n \"data\": \"hwQgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwNwNAAAAAAAAAAAAAAAAAMDcDQAAAAAAAAAAAAAAAMDcvQsAAAAAAAAAAAAAAADA3L0LAAAAAAAAAAAAAADA3L0LAAAAAAAAAAAAAAAAwNy9CwAAAAAAAAAAAAAAwNy9CwAAAAAAAAAAAAAAAMDcvQsAAAAAAABABAAAAMDcvQsAAAAAAAAAQAQAAADA3L0LAAAAAAAAQCTiDgDA3L0LAAAAAAAAAEAk4g4AwNy9CwAAAAAAAEAk4u7uzty9CwAAAAAAAABAJOLu7s7cvQsAAAAAAABAJOLu7u7evQsAAAAAAAAAQCTi7u7u3r0LAAAAAAAAACTi7u7u7u7uDgAAAAAAAAAk4u7u7u7u7g4AAAAAAAAA4O7u7u7u7u7uDgAAAAAAAODu7u7u7u7u7g4AAAAAAAAA4O7u7u7u7o5oBgAAAAAAAODu7u7u7u6OaAYAAAAAAAAA4O7u7u6OaAYAAAAAAAAAAODu7u7ujmgGAAAAAAAAAAAA4O7ujmgGAAAAAAAAAAAAAODu7o5oBgAAAAAAAAAAAAAA4I5oBgAAAAAAAAAAAAAAAOCOaAYAAAAAAAAAAAAAAAAAYAYAAAAAAAAAAAAAAAAAAGAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"hammer\"\n },\n \"anim1\": {\n \"namespace\": \"myAnimations\",\n \"id\": \"anim1\",\n \"mimeType\": \"application/mkcd-animation\",\n \"data\": \"YzgwMDEwMDAxMDAwMDQwMDAwMDAwMDUwMDAwMDAwMDAwMDAwMDA1MDA1MDAwMDAwNTBlZWVlZWVlZWVlZWUwNWUwZWVlZWVlZWVlZWVlMGVlZWVlZWVlZmZlZWVlZWVlZWVlZWVlZWZmZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWZlZWVlZmVlZWVlZWVlZWZlMzMzM2VmZWVlZWVlZWVlZTNmZjNlZWVlZWVlZWVlZmVlZWVlZWZlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZmVlZWVlZWVlZWVmZWVlZWVlZmZmZmZmZmZlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWUwMDAwNTAwMDAwMDAwMDUwMDUwMDAwMDUwMDAwMDAwNTA1MDAwMDUwMDAwMDAwNTA1MDAwMDA1MDA1MDA1MDA1MDUwMDAwMDAwMDAwMDAwMDAwZWVlZWVlZWVlZWVlMDBlMGVlZWVlZWVlZWVlZTBlZWVlZWVlZWZmZWVlZWVlZWVlZWVlZWVmZmVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVmZWVlZWZlZWVlZWVlZWVmZTMzMzNlZmVlZWVlZWVlZWUzZmYzZWVlZWVlZWVlZWZlZWVlZWVmZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWZlZWVlZWVlZWVlZmVlMDAwMDAwMDUwMDAwMDAwMDAwMDAwMDUwMDAwMDAwMDAwNTAwMDAwMDA1MDAwMDAwNTAwMDAwMDAwNTAwMDA1MDUwMDAwMDUwMDAwMDAwMDUwMDA1MDA1MDAwMDAwMDUwNTAwMDAwMDAwMDAwMDA1NTAwMDAwMDAwMDAwMDAwMDAwMGVlZWVlZWVlZWVlZTAwZTBlZWVlZWVlZWVlZWUwZWVlZWVlZWVmZmVlZWVlZWVlZWVlZWVlZmZlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZmVlZWVmZWVlZWVlZWVlZmUzMzMzZWZlZWVlZWVlZWVlM2ZmM2VlZWVlZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlZWVlZWVlZWVlZWUwMGUwZWVlZWVlZWVlZWVlMGVlZWVlZWVlZmZlZWVlZWVlZWVlZWVlZWZmZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWZlZWVlZmVlZWVlZWVlZWZlMzMzM2VmZWVlZWVlZWVlZTNmZjNlZWVlZWVlZWVlZmVlZWVlZWZlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZmVlZWVlZWVlZWVmZWVlZWVlZmZmZmZmZmZlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=\",\n \"displayName\": \"moleAnimation\"\n },\n \"anim2\": {\n \"namespace\": \"myAnimations\",\n \"id\": \"anim2\",\n \"mimeType\": \"application/mkcd-animation\",\n \"data\": \"YzgwMDIwMDAyMDAwMDMwMDAwMDAwMDAwMDAwMDAwMDA0MDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDI0ZTIwZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwMjRlMjBlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwMjRlMmVlZWUwZTAwMDAwMDAwMDAwMDAwMDAwMDAwNDAyNGUyZWVlZTBlMDAwMDAwMDAwMDAwMDAwMDAwNDAyNGUyZWVlZWVlZWUwZTAwMDAwMDAwMDAwMDAwMDA0MDI0ZTJlZWVlZWVlZTBlMDAwMDAwMDAwMDAwMDA0MDI0ZTJlZWVlZWVlZWVlZWUwZTAwMDAwMDAwMDAwMDQwMjRlMmVlZWVlZWVlZWVlZTBlMDAwMDAwMDAwMDAwMDBlMGVlZWVlZWVlZWVlZWVlZWUwZTAwMDAwMDAwMDAwMGUwZWVlZWVlZWVlZWVlZWVlZTBlMDAwMDAwMDAwMDAwMDBlMGVlZWVlZWVlZWVlZThlNjgwNjAwMDAwMDAwMDAwMGUwZWVlZWVlZWVlZWVlOGU2ODA2MDAwMDAwMDAwMDAwYzBkY2VkZWVlZWVlOGU2ODA2MDAwMDAwMDAwMDAwMDBjMGRjZWRlZWVlZWU4ZTY4MDYwMDAwMDAwMDAwMDBjMGRjYmRlYmVlZWU4ZTY4MDYwMDAwMDAwMDAwMDAwMGMwZGNiZGViZWVlZThlNjgwNjAwMDAwMDAwMDAwMGMwZGNiZDBiMDBlMDhlNjgwNjAwMDAwMDAwMDAwMDAwYzBkY2JkMGIwMGUwOGU2ODA2MDAwMDAwMDAwMDAwYzBkY2JkMGIwMDAwMDA2MDA2MDAwMDAwMDAwMDAwMDBjMGRjYmQwYjAwMDAwMDYwMDYwMDAwMDAwMDAwMDBjMGRjYmQwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGMwZGNiZDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGMwZGNiZDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzBkY2JkMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzBkY2JkMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMGRjYmQwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGQwYmQwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZDBiZDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGUwOGU2ODA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZTA4ZTY4MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZTBlZWVlOGU2ODA2MDAwMDAwMDAwMDAwMDAwMDAwMDBlMGVlZWU4ZTY4MDYwMDAwMDAwMDAwMDAwMDAwMDBlMGVlZWVlZWVlOGU2ODA2MDAwMDAwMDAwMDAwMDAwMGUwZWVlZWVlZWU4ZTY4MDYwMDAwMDAwMDAwMDAwMGUwZWVlZWVlZWVlZWVlOGU2ODA2MDAwMDAwMDAwMDAwZTBlZWVlZWVlZWVlZWU4ZTY4MDYwMDAwMDAwMDAwZTBlZWVlZWVlZWVlZWVlZWVlMGUwMDAwMDAwMDAwMDBlMGVlZWVlZWVlZWVlZWVlZWUwZTAwMDAwMDAwMDAwMDI0ZTJlZWVlZWVlZWVlZWUwZTAwMDAwMDAwMDAwMDAwMjRlMmVlZWVlZWVlZWVlZTBlMDAwMDAwMDAwMDAwMDA0MDI0ZTJlZWVlZWVkZWJkMGIwMDAwMDAwMDAwMDAwMDQwMjRlMmVlZWVlZWRlYmQwYjAwMDAwMDAwMDAwMDAwMDA0MDI0ZTJlZWVlY2VkY2JkMGIwMDAwMDAwMDAwMDAwMDQwMjRlMmVlZWVjZWRjYmQwYjAwMDAwMDAwMDAwMDAwMDA0MDI0ZTIwZTAwYzBkY2JkMGIwMDAwMDAwMDAwMDAwMDQwMjRlMjBlMDBjMGRjYmQwYjAwMDAwMDAwMDAwMDAwMDA0MDA0MDAwMDAwYzBkY2JkMGIwMDAwMDAwMDAwMDAwMDQwMDQwMDAwMDBjMGRjYmQwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzBkY2JkMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMGRjYmQwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzBkY2JkMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMGRjYmQwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzBkY2JkMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMGRjYmQwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzBkYzBkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMGRjMGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwMjRlMjBlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAyNGUyMGUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAyNGUyZWVlZTBlMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDI0ZTJlZWVlMGUwMDAwMDAwMDAwMDAwMDAwMDA0MDI0ZTJlZWVlZWVlZTBlMDAwMDAwMDAwMDAwMDAwMDQwMjRlMmVlZWVlZWVlMGUwMDAwMDAwMDAwMDAwMDQwMjRlMmVlZWVlZWVlZWVlZTBlMDAwMDAwMDAwMDAwNDAyNGUyZWVlZWVlZWVlZWVlMGUwMDAwMDAwMDAwMDAwMGUwZWVlZWVlZWVlZWVlZWVlZTBlMDAwMDAwMDAwMDAwZTBlZWVlZWVlZWVlZWVlZWVlMGUwMDAwMDAwMDAwMDAwMGUwZWVlZWVlZWVlZWVlOGU2ODA2MDAwMDAwMDAwMDAwZTBlZWVlZWVlZWVlZWU4ZTY4MDYwMDAwMDAwMDAwMDBjMGRjZWRlZWVlZWU4ZTY4MDYwMDAwMDAwMDAwMDAwMGMwZGNlZGVlZWVlZThlNjgwNjAwMDAwMDAwMDAwMGMwZGNiZGViZWVlZThlNjgwNjAwMDAwMDAwMDAwMDAwYzBkY2JkZWJlZWVlOGU2ODA2MDAwMDAwMDAwMDAwYzBkY2JkMGIwMGUwOGU2ODA2MDAwMDAwMDAwMDAwMDBjMGRjYmQwYjAwZTA4ZTY4MDYwMDAwMDAwMDAwMDBjMGRjYmQwYjAwMDAwMDYwMDYwMDAwMDAwMDAwMDAwMGMwZGNiZDBiMDAwMDAwNjAwNjAwMDAwMDAwMDAwMGMwZGNiZDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzBkY2JkMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzBkY2JkMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMGRjYmQwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMGRjYmQwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGMwZGNiZDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZDBiZDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBkMGJkMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMA==\",\n \"displayName\": \"hammerAnimation\"\n },\n \"*\": {\n \"mimeType\": \"image/x-mkcd-f4\",\n \"dataEncoding\": \"base64\",\n \"namespace\": \"myImages\"\n }\n}",
|
|
750
|
+
"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 \"Qv@;p79@e|(fGBFKaJ@[\":\n case \"mole\":return img`\n. . . . . . . . . . . . . . . . \n. . . . . . . . . . . . . . . . \n. . e e e e e e e e e e e e . . \n. e e e e e e e e e e e e e e . \ne e e e e e f e e f e e e e e e \ne e e e e e f e e f e e e e e e \ne e e e e e e e e e e e e e e e \ne e e e f e e e e e e f e e e e \ne e e e e f 3 3 3 3 f e e e e e \ne e e e e e f 3 3 f e e e e e e \ne e e e e f e e e e f e e e e e \ne e e e e e e e e e e e e e e e \ne e e f e e e e e e e e f e e e \ne e e e f f f f f f f f e e e e \ne e e e e e e e e e e e e e e e \ne e e e e e e e e e e e e e e e \n`;\n case \"/LJ4HDC9/+6j@JGvC7#:\":\n case \"grid\":return img`\n6666677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777766666\n6666677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777766666\n6666677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777766666\n6666677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777766666\n6666677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777766666\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777fffffffffffff777777777777777777777777777777777777777fffffffffffff7777777777777777777777777777777777777fffffffffffff77777777777777777777777\n7777777777777777777fffbbbbbbbbbbbbbffff77777777777777777777777777777777fffbbbbbbbbbbbbbffff777777777777777777777777777777fffbbbbbbbbbbbbbffff7777777777777777777\n7777777777777777fffbbbbbbbbbbbbbbbbbbbbf7777777777777777777777777777fffbbbbbbbbbbbbbbbbbbbbf77777777777777777777777777fffbbbbbbbbbbbbbbbbbbbbf777777777777777777\n777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbff7777777777777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbff77777777777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbff7777777777777777\n7777777777777ffbbbbbbbbbbbbbbbbbbbbbbbbbbbf7777777777777777777777ffbbbbbbbbbbbbbbbbbbbbbbbbbbbf77777777777777777777ffbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777777\n777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbff7777777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbff77777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbff7777777777777\n777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf7777777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf77777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf7777777777777\n77777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf77777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777\n7777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf7777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf77777777777\n7777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf7777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf77777777777\n7777777777fbbbbbbbbcccccccccccccccccccbbbbbbbbf777777777777777fbbbbbbbbcccccccccccccccccccbbbbbbbbf7777777777777fbbbbbbbbcccccccccccccccccccbbbbbbbbf77777777777\n7777777777fbbbbbbbccccccccccccccccccccccbbbbbbf777777777777777fbbbbbbbccccccccccccccccccccccbbbbbbf7777777777777fbbbbbbbccccccccccccccccccccccbbbbbbf77777777777\n7777777777fbbbbccccccccccccccccccccccccccccbbbf777777777777777fbbbbccccccccccccccccccccccccccccbbbf7777777777777fbbbbccccccccccccccccccccccccccccbbbf77777777777\n7777777777fbbccccccccccccccccccccccccccccccccbf777777777777777fbbccccccccccccccccccccccccccccccccbf7777777777777fbbccccccccccccccccccccccccccccccccbf77777777777\n7777777777fbcccccccccccccccccccccccccccccccccbf777777777777777fbcccccccccccccccccccccccccccccccccbf7777777777777fbcccccccccccccccccccccccccccccccccbf77777777777\n7777777777fcccccccccccccccccccccccccccccccccccf777777777777777fcccccccccccccccccccccccccccccccccccf7777777777777fcccccccccccccccccccccccccccccccccccf77777777777\n77777777777fcccccccccccccccccccccccccccccccccc77777777777777777fcccccccccccccccccccccccccccccccccc777777777777777fcccccccccccccccccccccccccccccccccc777777777777\n777777777777fcccccccccccccccccccccccccccccccf7777777777777777777fcccccccccccccccccccccccccccccccf77777777777777777fcccccccccccccccccccccccccccccccf7777777777777\n777777777777ffcccccccccccccccccccccccccccccff7777777777777777777ffcccccccccccccccccccccccccccccff77777777777777777ffcccccccccccccccccccccccccccccff7777777777777\n7777777777777ffcccccccccccccccccccccccccccff777777777777777777777ffcccccccccccccccccccccccccccff7777777777777777777ffcccccccccccccccccccccccccccff77777777777777\n777777777777777fcccccccccccccccccccccccccf7777777777777777777777777fcccccccccccccccccccccccccf77777777777777777777777fcccccccccccccccccccccccccf7777777777777777\n7777777777777777ffcccccccccccccccccccccff777777777777777777777777777ffcccccccccccccccccccccff7777777777777777777777777ffcccccccccccccccccccccff77777777777777777\n777777777777777777ffcccccccccccccccccff7777777777777777777777777777777ffcccccccccccccccccff77777777777777777777777777777ffcccccccccccccccccff7777777777777777777\n77777777777777777777fffffffffffffffff77777777777777777777777777777777777fffffffffffffffff777777777777777777777777777777777fffffffffffffffff777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777fffffffffffff77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777fffbbbbbbbbbbbbbffff77777777777777777777777777777777777fffffffffffff7777777777777777777777777777777777777fffffffffffff77777777777777777777777\n7777777777777777fffbbbbbbbbbbbbbbbbbbbbf7777777777777777777777777777777fffbbbbbbbbbbbbbffff777777777777777777777777777777fffbbbbbbbbbbbbbffff7777777777777777777\n777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbff77777777777777777777777777fffbbbbbbbbbbbbbbbbbbbbf77777777777777777777777777fffbbbbbbbbbbbbbbbbbbbbf777777777777777777\n7777777777777ffbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbff77777777777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbff7777777777777777\n777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbff77777777777777777777ffbbbbbbbbbbbbbbbbbbbbbbbbbbbf77777777777777777777ffbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777777\n777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf7777777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbff77777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbff7777777777777\n77777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf77777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf7777777777777\n7777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf7777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777\n7777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf7777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf77777777777\n7777777777fbbbbbbbbcccccccccccccccccccbbbbbbbbf777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf7777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf77777777777\n7777777777fbbbbbbbccccccccccccccccccccccbbbbbbf777777777777777fbbbbbbbbcccccccccccccccccccbbbbbbbbf7777777777777fbbbbbbbbcccccccccccccccccccbbbbbbbbf77777777777\n7777777777fbbbbccccccccccccccccccccccccccccbbbf777777777777777fbbbbbbbccccccccccccccccccccccbbbbbbf7777777777777fbbbbbbbccccccccccccccccccccccbbbbbbf77777777777\n7777777777fbbccccccccccccccccccccccccccccccccbf777777777777777fbbbbccccccccccccccccccccccccccccbbbf7777777777777fbbbbccccccccccccccccccccccccccccbbbf77777777777\n7777777777fbcccccccccccccccccccccccccccccccccbf777777777777777fbbccccccccccccccccccccccccccccccccbf7777777777777fbbccccccccccccccccccccccccccccccccbf77777777777\n7777777777fcccccccccccccccccccccccccccccccccccf777777777777777fbcccccccccccccccccccccccccccccccccbf7777777777777fbcccccccccccccccccccccccccccccccccbf77777777777\n77777777777fcccccccccccccccccccccccccccccccccc7777777777777777fcccccccccccccccccccccccccccccccccccf7777777777777fcccccccccccccccccccccccccccccccccccf77777777777\n777777777777fcccccccccccccccccccccccccccccccf777777777777777777fcccccccccccccccccccccccccccccccccc777777777777777fcccccccccccccccccccccccccccccccccc777777777777\n777777777777ffcccccccccccccccccccccccccccccff7777777777777777777fcccccccccccccccccccccccccccccccf77777777777777777fcccccccccccccccccccccccccccccccf7777777777777\n7777777777777ffcccccccccccccccccccccccccccff77777777777777777777ffcccccccccccccccccccccccccccccff77777777777777777ffcccccccccccccccccccccccccccccff7777777777777\n777777777777777fcccccccccccccccccccccccccf77777777777777777777777ffcccccccccccccccccccccccccccff7777777777777777777ffcccccccccccccccccccccccccccff77777777777777\n7777777777777777ffcccccccccccccccccccccff77777777777777777777777777fcccccccccccccccccccccccccf77777777777777777777777fcccccccccccccccccccccccccf7777777777777777\n777777777777777777ffcccccccccccccccccff77777777777777777777777777777ffcccccccccccccccccccccff7777777777777777777777777ffcccccccccccccccccccccff77777777777777777\n77777777777777777777fffffffffffffffff777777777777777777777777777777777ffcccccccccccccccccff77777777777777777777777777777ffcccccccccccccccccff7777777777777777777\n777777777777777777777777777777777777777777777777777777777777777777777777fffffffffffffffff777777777777777777777777777777777fffffffffffffffff777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777fffffffffffff777777777777777777777777777777777777777fffffffffffff7777777777777777777777777777777777777fffffffffffff77777777777777777777777\n7777777777777777777fffbbbbbbbbbbbbbffff77777777777777777777777777777777fffbbbbbbbbbbbbbffff777777777777777777777777777777fffbbbbbbbbbbbbbffff7777777777777777777\n7777777777777777fffbbbbbbbbbbbbbbbbbbbbf7777777777777777777777777777fffbbbbbbbbbbbbbbbbbbbbf77777777777777777777777777fffbbbbbbbbbbbbbbbbbbbbf777777777777777777\n777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbff7777777777777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbff77777777777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbff7777777777777777\n7777777777777ffbbbbbbbbbbbbbbbbbbbbbbbbbbbf7777777777777777777777ffbbbbbbbbbbbbbbbbbbbbbbbbbbbf77777777777777777777ffbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777777\n777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbff7777777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbff77777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbff7777777777777\n777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf7777777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf77777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf7777777777777\n77777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf77777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777\n7777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf7777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf77777777777\n7777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf777777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf7777777777777fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbf77777777777\n7777777777fbbbbbbbbcccccccccccccccccccbbbbbbbbf777777777777777fbbbbbbbbcccccccccccccccccccbbbbbbbbf7777777777777fbbbbbbbbcccccccccccccccccccbbbbbbbbf77777777777\n7777777777fbbbbbbbccccccccccccccccccccccbbbbbbf777777777777777fbbbbbbbccccccccccccccccccccccbbbbbbf7777777777777fbbbbbbbccccccccccccccccccccccbbbbbbf77777777777\n7777777777fbbbbccccccccccccccccccccccccccccbbbf777777777777777fbbbbccccccccccccccccccccccccccccbbbf7777777777777fbbbbccccccccccccccccccccccccccccbbbf77777777777\n7777777777fbbccccccccccccccccccccccccccccccccbf777777777777777fbbccccccccccccccccccccccccccccccccbf7777777777777fbbccccccccccccccccccccccccccccccccbf77777777777\n7777777777fbcccccccccccccccccccccccccccccccccbf777777777777777fbcccccccccccccccccccccccccccccccccbf7777777777777fbcccccccccccccccccccccccccccccccccbf77777777777\n7777777777fcccccccccccccccccccccccccccccccccccf777777777777777fcccccccccccccccccccccccccccccccccccf7777777777777fcccccccccccccccccccccccccccccccccccf77777777777\n77777777777fcccccccccccccccccccccccccccccccccc77777777777777777fcccccccccccccccccccccccccccccccccc777777777777777fcccccccccccccccccccccccccccccccccc777777777777\n777777777777fcccccccccccccccccccccccccccccccf7777777777777777777fcccccccccccccccccccccccccccccccf77777777777777777fcccccccccccccccccccccccccccccccf7777777777777\n777777777777ffcccccccccccccccccccccccccccccff7777777777777777777ffcccccccccccccccccccccccccccccff77777777777777777ffcccccccccccccccccccccccccccccff7777777777777\n7777777777777ffcccccccccccccccccccccccccccff777777777777777777777ffcccccccccccccccccccccccccccff7777777777777777777ffcccccccccccccccccccccccccccff77777777777777\n777777777777777fcccccccccccccccccccccccccf7777777777777777777777777fcccccccccccccccccccccccccf77777777777777777777777fcccccccccccccccccccccccccf7777777777777777\n7777777777777777ffcccccccccccccccccccccff777777777777777777777777777ffcccccccccccccccccccccff7777777777777777777777777ffcccccccccccccccccccccff77777777777777777\n777777777777777777ffcccccccccccccccccff7777777777777777777777777777777ffcccccccccccccccccff77777777777777777777777777777ffcccccccccccccccccff7777777777777777777\n77777777777777777777fffffffffffffffff77777777777777777777777777777777777fffffffffffffffff777777777777777777777777777777777fffffffffffffffff777777777777777777777\n6666677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777766666\n6666677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777766666\n6666677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777766666\n6666677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777766666\n6666677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777766666\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n`;\n case \"Oag!`vsg+~Y,+WT2meT;\":\n case \"hammer\":return img`\n.................44.............\n...............4422ee...........\n...............4422ee...........\n.............4422eeeeee.........\n.............4422eeeeee.........\n...........4422eeeeeeeeee.......\n...........4422eeeeeeeeee.......\n.........4422eeeeeeeeeeeeee.....\n.........4422eeeeeeeeeeeeee.....\n...........eeeeeeeeeeeeeeeeee...\n...........eeeeeeeeeeeeeeeeee...\n.............eeeeeeeeeeeeee8866.\n.............eeeeeeeeeeeeee8866.\n.............ccddeeeeeeee8866...\n.............ccddeeeeeeee8866...\n...........ccddbbeeeeee8866.....\n...........ccddbbeeeeee8866.....\n.........ccddbb....ee8866.......\n.........ccddbb....ee8866.......\n.......ccddbb........66.........\n.......ccddbb........66.........\n.....ccddbb.....................\n.....ccddbb.....................\n...ccddbb.......................\n...ccddbb.......................\n.ccddbb.........................\n.ccddbb.........................\n.ddbb...........................\n.ddbb...........................\n................................\n................................\n................................\n`;\n }\n return null;\n })\n\n helpers._registerFactory(\"animation\", function(name: string) {\n switch(helpers.stringTrim(name)) {\n case \"moleAnimation\":\n case \"anim1\":return [img`\n. . . . . . . 5 . . . . . . . . \n. . . . . . . 5 5 . . . . . . . \n. 5 e e e e e e e e e e e e 5 . \n. e e e e e e e e e e e e e e . \ne e e e e e f e e f e e e e e e \ne e e e e e f e e f e e e e e e \ne e e e e e e e e e e e e e e e \ne e e e f e e e e e e f e e e e \ne e e e e f 3 3 3 3 f e e e e e \ne e e e e e f 3 3 f e e e e e e \ne e e e e f e e e e f e e e e e \ne e e e e e e e e e e e e e e e \ne e e f e e e e e e e e f e e e \ne e e e f f f f f f f f e e e e \ne e e e e e e e e e e e e e e e \ne e e e e e e e e e e e e e e e \n`, img`\n. . . . . 5 . . . . . . . . . 5 \n5 . . . . . 5 . . . . . . . 5 . \n5 . . . . . . 5 . . . . . . . 5 \n. 5 . . . . . 5 5 . . . . 5 5 . \n5 . . . . . . . . . . . . . . . \n. . e e e e e e e e e e e e . . \n. e e e e e e e e e e e e e e . \ne e e e e e f e e f e e e e e e \ne e e e e e f e e f e e e e e e \ne e e e e e e e e e e e e e e e \ne e e e f e e e e e e f e e e e \ne e e e e f 3 3 3 3 f e e e e e \ne e e e e e f 3 3 f e e e e e e \ne e e e e f e e e e f e e e e e \ne e e e e e e e e e e e e e e e \ne e e f e e e e e e e e f e e e \n`, img`\n. . . . . . 5 . . . . . . . . . \n. . . . . . . 5 . . . . . . . . \n5 . . . . . . . 5 . . . . . . . \n. 5 . . . . . . 5 . . . . . . 5 \n. 5 . . . . . 5 . . . . . . 5 . \n. . 5 . . . . 5 . . . . . . . 5 \n. 5 . . . . . . . . . . . . 5 5 \n. . . . . . . . . . . . . . . . \n. . e e e e e e e e e e e e . . \n. e e e e e e e e e e e e e e . \ne e e e e e f e e f e e e e e e \ne e e e e e f e e f e e e e e e \ne e e e e e e e e e e e e e e e \ne e e e f e e e e e e f e e e e \ne e e e e f 3 3 3 3 f e e e e e \ne e e e e e f 3 3 f e e e e e e \n`, img`\n. . . . . . . . . . . . . . . . \n. . . . . . . . . . . . . . . . \n. . e e e e e e e e e e e e . . \n. e e e e e e e e e e e e e e . \ne e e e e e f e e f e e e e e e \ne e e e e e f e e f e e e e e e \ne e e e e e e e e e e e e e e e \ne e e e f e e e e e e f e e e e \ne e e e e f 3 3 3 3 f e e e e e \ne e e e e e f 3 3 f e e e e e e \ne e e e e f e e e e f e e e e e \ne e e e e e e e e e e e e e e e \ne e e f e e e e e e e e f e e e \ne e e e f f f f f f f f e e e e \ne e e e e e e e e e e e e e e e \ne e e e e e e e e e e e e e e e \n`];\n case \"hammerAnimation\":\n case \"anim2\":return [img`\n.................44.............\n...............4422ee...........\n...............4422ee...........\n.............4422eeeeee.........\n.............4422eeeeee.........\n...........4422eeeeeeeeee.......\n...........4422eeeeeeeeee.......\n.........4422eeeeeeeeeeeeee.....\n.........4422eeeeeeeeeeeeee.....\n...........eeeeeeeeeeeeeeeeee...\n...........eeeeeeeeeeeeeeeeee...\n.............eeeeeeeeeeeeee8866.\n.............eeeeeeeeeeeeee8866.\n.............ccddeeeeeeee8866...\n.............ccddeeeeeeee8866...\n...........ccddbbeeeeee8866.....\n...........ccddbbeeeeee8866.....\n.........ccddbb....ee8866.......\n.........ccddbb....ee8866.......\n.......ccddbb........66.........\n.......ccddbb........66.........\n.....ccddbb.....................\n.....ccddbb.....................\n...ccddbb.......................\n...ccddbb.......................\n.ccddbb.........................\n.ccddbb.........................\n.ddbb...........................\n.ddbb...........................\n................................\n................................\n................................\n`, img`\n................................\n...........66...................\n...........66...................\n.........ee8866.................\n.........ee8866.................\n.......eeeeee8866...............\n.......eeeeee8866...............\n.....eeeeeeeeee8866.............\n.....eeeeeeeeee8866.............\n...eeeeeeeeeeeeee8866...........\n...eeeeeeeeeeeeee8866...........\n.eeeeeeeeeeeeeeeeee.............\n.eeeeeeeeeeeeeeeeee.............\n422eeeeeeeeeeeeee...............\n422eeeeeeeeeeeeee...............\n.4422eeeeeeeeddbb...............\n.4422eeeeeeeeddbb...............\n...4422eeeeeeccddbb.............\n...4422eeeeeeccddbb.............\n.....4422ee....ccddbb...........\n.....4422ee....ccddbb...........\n.......44........ccddbb.........\n.......44........ccddbb.........\n...................ccddbb.......\n...................ccddbb.......\n.....................ccddbb.....\n.....................ccddbb.....\n.......................ccddbb...\n.......................ccddbb...\n.........................ccdd...\n.........................ccdd...\n................................\n`, img`\n.................44.............\n...............4422ee...........\n...............4422ee...........\n.............4422eeeeee.........\n.............4422eeeeee.........\n...........4422eeeeeeeeee.......\n...........4422eeeeeeeeee.......\n.........4422eeeeeeeeeeeeee.....\n.........4422eeeeeeeeeeeeee.....\n...........eeeeeeeeeeeeeeeeee...\n...........eeeeeeeeeeeeeeeeee...\n.............eeeeeeeeeeeeee8866.\n.............eeeeeeeeeeeeee8866.\n.............ccddeeeeeeee8866...\n.............ccddeeeeeeee8866...\n...........ccddbbeeeeee8866.....\n...........ccddbbeeeeee8866.....\n.........ccddbb....ee8866.......\n.........ccddbb....ee8866.......\n.......ccddbb........66.........\n.......ccddbb........66.........\n.....ccddbb.....................\n.....ccddbb.....................\n...ccddbb.......................\n...ccddbb.......................\n.ccddbb.........................\n.ccddbb.........................\n.ddbb...........................\n.ddbb...........................\n................................\n................................\n................................\n`];\n }\n return null;\n })\n\n}\n// Auto-generated code. Do not edit.\n",
|
|
751
|
+
"main.blocks": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable type=\"KIND_SpriteKind\" id=\"ZJJ;OHEq3su{$thl?!cG\">Player</variable><variable type=\"KIND_SpriteKind\" id=\"HuH?dfR@fk?i~Wozi$|z\">Projectile</variable><variable type=\"KIND_SpriteKind\" id=\"GdiqjoI.c8wEY)L~tjJ+\">Food</variable><variable type=\"KIND_SpriteKind\" id=\"kUea=yU.c/EQ4j+JPo6U\">Enemy</variable><variable type=\"KIND_SpriteKind\" id=\"k_4in;^};cR]Q#@rCm6X\">Text</variable><variable id=\"JBYkLIm;eX8wM5;u*R8r\">mySprite2</variable><variable id=\"VFB/Y!.@bi;5(2y.}ew_\">mySprite</variable><variable id=\".q*Ucu{%0bW!szfNY2Ds\">textSprite</variable></variables></xml>",
|
|
752
|
+
"main.ts": "\n",
|
|
753
|
+
"pxt.json": "{\n \"name\": \"Whackem2 - Assets Only\",\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 \"custom.ts\"\n ],\n \"targetVersions\": {\n \"branch\": \"v1.8.26\",\n \"tag\": \"v1.8.26\",\n \"commits\": \"https://github.com/microsoft/pxt-arcade/commits/6434cb63948fe7c1d1a7498115a4bc495495512c\",\n \"target\": \"1.8.26\",\n \"pxt\": \"7.4.27\"\n },\n \"preferredEditor\": \"tsprj\"\n}\n"
|
|
754
|
+
}
|
|
755
|
+
```
|