pxt-arcade 1.7.13 → 1.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/built/target-strings.json +0 -1
- package/built/target.js +135 -135
- package/built/target.json +135 -135
- package/built/targetlight.json +5 -5
- package/docs/beta-ref.json +1 -1
- package/docs/gamejam/global-2021.html +32 -25
- package/docs/gamejam/lessons/box.md +3 -3
- package/docs/hero-banner.md +13 -0
- package/docs/hour-of-code/educators-2021.html +62 -3
- package/docs/hour-of-code-2020.html +19 -18
- package/docs/hour-of-code-2021.html +2 -0
- package/docs/insiders.html +3 -3
- package/docs/projects/SUMMARY.md +2 -3
- package/docs/projects.md +0 -8
- package/docs/skillmap/beg-skillmap.md +3 -0
- package/docs/skillmap/beginner-skillmap.md +3 -0
- package/docs/skillmap/clicker-star/star1.md +227 -0
- package/docs/skillmap/clicker-star/star2.md +234 -0
- package/docs/skillmap/clicker-star/star3.md +208 -0
- package/docs/skillmap/clicker-star/star4.md +255 -0
- package/docs/skillmap/clicker-themed/clickert1.md +7 -4
- package/docs/skillmap/educator-info/turkey-map-info.md +80 -0
- package/docs/skillmap/forest.md +9 -6
- package/docs/skillmap/jungle/jungle1.md +5 -2
- package/docs/skillmap/jungle.md +3 -0
- package/docs/skillmap/pongo.md +1 -1
- package/docs/skillmap/racer.md +4 -2
- package/docs/skillmap/rockstar.md +3 -0
- package/docs/skillmap/shark/shark4a-simple.md +2 -2
- package/docs/skillmap/shark/shark4a.md +2 -2
- package/docs/skillmap/shark.md +3 -1
- package/docs/skillmap/space/space5.md +3 -3
- package/docs/skillmap/space/space6.md +2 -2
- package/docs/skillmap/space.md +4 -0
- package/docs/skillmap/star.md +92 -0
- package/docs/skillmap/turkey/turkey1.md +275 -0
- package/docs/skillmap/turkey/turkey2.md +270 -0
- package/docs/skillmap/turkey/turkey3.md +214 -0
- package/docs/skillmap/turkey.md +61 -0
- package/docs/skillmap/zoo.md +15 -0
- package/docs/skillmaps-next.md +43 -0
- package/docs/skillmaps.md +14 -6
- package/docs/stable-ref.json +1 -1
- package/docs/static/badges/badge-beginner-locked.png +0 -0
- package/docs/static/badges/badge-beginner.png +0 -0
- package/docs/static/badges/badge-forest-locked.png +0 -0
- package/docs/static/badges/badge-forest.png +0 -0
- package/docs/static/badges/badge-generic.png +0 -0
- package/docs/static/badges/badge-jungle-locked.png +0 -0
- package/docs/static/badges/badge-jungle.png +0 -0
- package/docs/static/badges/badge-rockstar-locked.png +0 -0
- package/docs/static/badges/badge-rockstar.png +0 -0
- package/docs/static/badges/badge-shark-locked.png +0 -0
- package/docs/static/badges/badge-shark.png +0 -0
- package/docs/static/badges/badge-space-locked.png +0 -0
- package/docs/static/badges/badge-space.png +0 -0
- package/docs/static/badges/badge-turkey-locked.png +0 -0
- package/docs/static/badges/badge-turkey.png +0 -0
- package/docs/static/badges/badge-zoo-locked.png +0 -0
- package/docs/static/badges/badge-zoo.png +0 -0
- package/docs/static/hero-gallery/hoc-2021.png +0 -0
- package/docs/static/hero-gallery/insiders.png +0 -0
- package/docs/static/hero-gallery/turkey.png +0 -0
- package/docs/static/icons/android-chrome-256x256.png +0 -0
- package/docs/static/icons/android-chrome-384x384.png +0 -0
- package/docs/static/icons/maskable-icon-213x213.png +0 -0
- package/docs/static/skillmap/backgrounds/forest.png +0 -0
- package/docs/static/skillmap/backgrounds/shark-attack-bg.png +0 -0
- package/docs/static/skillmap/backgrounds/shark-map.png +0 -0
- package/docs/static/skillmap/backgrounds/turkey-comp.png +0 -0
- package/docs/static/skillmap/certificates/turkey-cert.pdf +0 -0
- package/docs/static/skillmap/certificates/turkey-cert.png +0 -0
- package/docs/static/skillmap/star/star1.gif +0 -0
- package/docs/static/skillmap/star/star2.gif +0 -0
- package/docs/static/skillmap/star/star3.gif +0 -0
- package/docs/static/skillmap/star/star4.png +0 -0
- package/docs/static/skillmap/turkey/pick-player.gif +0 -0
- package/docs/static/skillmap/turkey/turkey-location.gif +0 -0
- package/docs/static/skillmap/turkey/turkey1.gif +0 -0
- package/docs/static/skillmap/turkey/turkey2.gif +0 -0
- package/docs/static/skillmap/turkey/turkey3.gif +0 -0
- package/docs/tutorials.md +8 -0
- package/package.json +2 -2
- package/targetconfig.json +2 -2
- package/docs/skillmap/clicker.md +0 -85
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
# Clicking Superstar
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
## {Introduction @showdialog}
|
|
5
|
+
|
|
6
|
+
There's so much more to explore with our clicker game.
|
|
7
|
+
|
|
8
|
+
Let's create a spray of stars that fly out as we click.
|
|
9
|
+
|
|
10
|
+

|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## {Step 2}
|
|
14
|
+
|
|
15
|
+
Watching the points increase each time we click is fun...but let's add
|
|
16
|
+
some flying star [__*projectiles*__](#projected "sprites that moves on their own, often in large quantities") to make it even more interesting.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
- :paper plane: From ``||sprites:Sprites||``, grab
|
|
21
|
+
``||variables:set [projectile] to projectile [ ] from [mySprite] with vx [50] vy [50]||``
|
|
22
|
+
and drop it into **the end** of the
|
|
23
|
+
``||controller:on [A] button [pressed]||`` container
|
|
24
|
+
already in the workspace.
|
|
25
|
+
|
|
26
|
+
- :mouse pointer: Click **Next** to move on to the next instruction.
|
|
27
|
+
|
|
28
|
+
```blocks
|
|
29
|
+
let mySprite: Sprite = null
|
|
30
|
+
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
31
|
+
info.changeScoreBy(1)
|
|
32
|
+
mySprite.setImage(assets.image`A static Down`)
|
|
33
|
+
//@highlight
|
|
34
|
+
projectile = sprites.createProjectileFromSprite(img`
|
|
35
|
+
. . . .
|
|
36
|
+
. . . .
|
|
37
|
+
. . . .
|
|
38
|
+
. . . .
|
|
39
|
+
`, mySprite, 50, 50)
|
|
40
|
+
})
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## {Step 3}
|
|
45
|
+
|
|
46
|
+
- :paint brush: Click the empty grey square and toggle to **My Assets**
|
|
47
|
+
to select **Big Star**.
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
```blocks
|
|
51
|
+
let mySprite: Sprite = null
|
|
52
|
+
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
53
|
+
info.changeScoreBy(1)
|
|
54
|
+
mySprite.setImage(assets.image`A static Down`)
|
|
55
|
+
//@highlight
|
|
56
|
+
projectile = sprites.createProjectileFromSprite(assets.image`Big Star`, mySprite, 50, 50)
|
|
57
|
+
})
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## {Step 4}
|
|
61
|
+
|
|
62
|
+
**🎮 Try your project on the game screen to see what you think**
|
|
63
|
+
|
|
64
|
+
Does a star come out of your button each time you press the (A) button?
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
## {Step 5}
|
|
68
|
+
|
|
69
|
+
**🌟 Let's make the star projectiles float 🌟**
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
- :calculator: From the ``||math:Math||`` category, drag out **TWO**
|
|
74
|
+
``||math: pick random [0] to [10]||``
|
|
75
|
+
blocks.
|
|
76
|
+
|
|
77
|
+
- :mouse pointer: Add the first to the [__*vx*__](#whatVX "horizontal velocity") argument of the
|
|
78
|
+
``||variables:set [projectile] to projectile [⭐] from [mySprite] with vx [50] vy [50]||``
|
|
79
|
+
block.
|
|
80
|
+
|
|
81
|
+
- :mouse pointer: Add the second to the [__*vy*__](#whatVY "vertical velocity") argument.
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
```blocks
|
|
85
|
+
let mySprite: Sprite = null
|
|
86
|
+
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
87
|
+
info.changeScoreBy(1)
|
|
88
|
+
mySprite.setImage(assets.image`A static Down`)
|
|
89
|
+
projectile = sprites.createProjectileFromSprite(assets.image`Big Star`, mySprite, randint(0, 10), randint(0, 10))
|
|
90
|
+
})
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
## {Step 6}
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
- :mouse pointer: Change the range of the first
|
|
98
|
+
``||math: pick random [0] to [10]||``
|
|
99
|
+
block (next to **vx**) to pick between
|
|
100
|
+
**-100** and **100**. This will scatter stars randomly from side to side.
|
|
101
|
+
|
|
102
|
+
- :mouse pointer: Change the range of the second
|
|
103
|
+
``||math: pick random [0] to [10]||``
|
|
104
|
+
block (next to **vy**) to pick between
|
|
105
|
+
**-50** and **-100**. This will make sure the stars only move upward.
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
```blocks
|
|
110
|
+
let mySprite: Sprite = null
|
|
111
|
+
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
112
|
+
mySprite.setImage(assets.image`A static Down`)
|
|
113
|
+
projectile = sprites.createProjectileFromSprite(assets.image`Big Star`, mySprite, randint(-100, 100), randint(-50, -100))
|
|
114
|
+
})
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
## {Congrats @showdialog}
|
|
119
|
+
**There you have it, a Super-Clicker**
|
|
120
|
+
🎇 🎇 🎇
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
Now, every time you click **Ⓐ** you create a shower of joyful stars!
|
|
125
|
+
|
|
126
|
+
Play your game a few times and look through the code to see if there's anything you
|
|
127
|
+
want to add or modify.
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
## {Finale}
|
|
131
|
+
|
|
132
|
+
Try playing around with the code and the images to see if you can make your own customizations!
|
|
133
|
+
|
|
134
|
+
When you're done, click **Done** to return to the main page where you can
|
|
135
|
+
get a link to share with family and friends!
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
```template
|
|
142
|
+
|
|
143
|
+
info.onCountdownEnd(function () {
|
|
144
|
+
game.over(true, effects.confetti)
|
|
145
|
+
})
|
|
146
|
+
|
|
147
|
+
controller.A.onEvent(ControllerButtonEvent.Released, function () {
|
|
148
|
+
mySprite.setImage(assets.image`A static`)
|
|
149
|
+
})
|
|
150
|
+
|
|
151
|
+
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
152
|
+
info.changeScoreBy(1)
|
|
153
|
+
mySprite.setImage(assets.image`A static Down`)
|
|
154
|
+
})
|
|
155
|
+
|
|
156
|
+
let mySprite: Sprite = null
|
|
157
|
+
scene.setBackgroundImage(assets.image`TheStage`)
|
|
158
|
+
game.splash("Press (A) to play!")
|
|
159
|
+
info.startCountdown(10)
|
|
160
|
+
mySprite = sprites.create(assets.image`A static`, SpriteKind.Player)
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
```ghost
|
|
165
|
+
namespace SpriteKind {
|
|
166
|
+
export const Clicker = SpriteKind.create()
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
170
|
+
aButton.setImage(assets.image`A static Down`)
|
|
171
|
+
info.changeScoreBy(power2)
|
|
172
|
+
for (let index = 0; index < power2; index++) {
|
|
173
|
+
onClick = sprites.createProjectileFromSprite(assets.image`Big Star`, aButton, randint(-25, 100), -100)
|
|
174
|
+
}
|
|
175
|
+
})
|
|
176
|
+
info.onCountdownEnd(function () {
|
|
177
|
+
game.over(true, effects.confetti)
|
|
178
|
+
})
|
|
179
|
+
controller.A.onEvent(ControllerButtonEvent.Released, function () {
|
|
180
|
+
aButton.setImage(assets.image`A static`)
|
|
181
|
+
})
|
|
182
|
+
controller.B.onEvent(ControllerButtonEvent.Released, function () {
|
|
183
|
+
bButton.setImage(assets.image`B static`)
|
|
184
|
+
})
|
|
185
|
+
let mySprite2: Sprite = null
|
|
186
|
+
let projectile: Sprite = null
|
|
187
|
+
let mySprite: Sprite = null
|
|
188
|
+
scene.setBackgroundImage(assets.image`TheStage`)
|
|
189
|
+
game.splash("Press (A) to play!")
|
|
190
|
+
info.startCountdown(10)
|
|
191
|
+
mySprite = sprites.create(assets.image`A static`, SpriteKind.Player)
|
|
192
|
+
let mySprite2 = sprites.create(assets.image`Kitten4`, SpriteKind.Player)
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
```assetjson
|
|
198
|
+
{
|
|
199
|
+
"README.md": " ",
|
|
200
|
+
"assets.json": "",
|
|
201
|
+
"images.g.jres": "{\n \"!r?I5Fj]J6v+x]co_+y$\": {\n \"data\": \"hwQgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8////DwAAAAAAAAAAAADAzIyIZvb/AAAAAABmiIiIyLu7zMxs9g8AAABmZoiIiIjMu8vMzGz/AABgdnd3mXlmxry7zMzM9gAAZnd3d3eZZ2bMu8zMzMwPAHZ3d3d3l2lmxrvLzMzMD2B2d3d3iHd5Zsa8y8zMzPxgd3eXiYh3mWZmvLvMzMz8Znd3mYZod5dnZsy9zMzM/HZ3l2mGdneXaWbM3czMzPx2d5lmiHd3l2lmzN3MzMz7dndphoh5d5dpZszdvLu7+3aXZmiIeXeXaWbM3by7u/t2l4Z3iHl3l2lmzN28u7v7dpeGd4h5d5dpZszdu7u7+3aXZmiIeXeXaWbM3bu7u/t2d2mGiHl3l2lmzN27u7v7dncZYYh3d5dpZszdu7u7+3Z3F2GGdneXaWbM3bu7u/tmd3eZhmh3l2dmzN27u7v7YHd3l4mId5lmZrzdu7u7+2B2d3d3iHdxZsYc0bu7u/sAdnd3d3cXYWbGG9Hb3d0PAGZ3d3d3GWdmzB2x3d29DwBgdnd3mXlmxrzdvbu7+wAAAGZmiIiIiMzb3czMzP8AAAAAZoiIiMi73cvMzPwPAAAAAAAAAADAzMzMzPz/AAAAAAAAAAAAAPz///8PAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"A static\"\n },\n \"sB$iw}0Z})=]AAM?L8At\": {\n \"data\": \"hwQgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8////DwAAAAAAAAAAAADAzIyIZvb/AAAAAABmiIiIyLu7zMxs9g8AAABmZoiIiIjMu8vMzGz/AABgdnd3mXlmxry7zMzM9gAAZnd3d3eZZ2bMu8zMzMwPAHZ3d3d3l2lmxrvLzMzMD2B2d3d3d3d5Zsa8y8zMzPxgd3d3d3d3mWZmvLvMzMz8ZneXmZmZeZdnZsy9zMzM/HaXZmZmZmaXaWbM3czMzPx2h4iIiIhol2lmzN3MzMz7doh2h3hniJdpZszdvLu7+3aIeYd4Z4iXaWbM3by7u/t2iHmHeGeIl2lmzN28u7v7doh5h3hniJdpZszdu7u7+3aIeYd4Z4iXaWbM3bu7u/t2iHmHeGeIl2lmzN27u7v7doeZiXhniJdpZszdu7u7+3ZniHiJiIiXaWbM3bu7u/tmd4Z4Z4h4l2dmzN27u7v7YHd3d3eZeZlmZrzdu7u7+2B2d3d3d3dxZsYc0bu7u/sAdnd3d3cXYWbGG9Hb3d0PAGZ3d3d3F2dmzB2x3d29DwBgdnd3mXlmxrzdvbu7+wAAAGZmiIiIiMzb3czMzP8AAAAAZoiIiMi73cvMzPwPAAAAAAAAAADAzMzMzPz/AAAAAAAAAAAAAPz///8PAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"B static\"\n },\n \"image2\": {\n \"data\": \"hwQgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8////DwAAAAAAAAAAAADAzIyIZvb/AAAAAAAAAICIyLu7zMxs9g8AAAAAAICIiIjMu8vMzGz/AAAAAACIZmZmyLy7zMzM9gAAAACAeGZmZobMu8zMzMwPAAAAgGdmZndmyLvLzMzMDwAAAIhnZnaHaMi8y8zMzPwAAAB4ZmZ3iGiGvLvMzMz8AACAeGZ2h4hmhsy9zMzM/AAAgGdmd4hoZobM3czMzPwAAIBndoeIaGaGzN3MzMz7AACAZ3aIiHhmhszdvLu7+wAAgGeHiIZ4ZobM3by7u/sAAIBnh3iHeGaGzN28u7v7AACAZ4d4h3hmhszdu7u7+wAAgGeHiIZ4ZobM3bu7u/sAAIBndoiIeGaGzN27u7v7AACAZ3aZiGhmhszdu7u7+wAAgGdmmYhoZobM3bu7u/sAAIB4ZnaHiGaGzN27u7v7AAAAeGZmd4hohrwRu7u7+wAAAIhnZnaHaMgcEbu7u/sAAACAZ2Zmd2bIG9Hb3d0PAAAAgHhmZmaGzN293d29DwAAAACIZ2ZmyLzdvbu7+wAAAAAAgIiIiMzb3czMzP8AAAAAAACAiMi73cvMzPwPAAAAAAAAAADAzMzMzPz/AAAAAAAAAAAAAPz///8PAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"A static Down\"\n },\n \"image1\": {\n \"data\": \"hwQgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8////DwAAAAAAAAAAAADAzIyIZvb/AAAAAAAAAICIyLu7zMxs9g8AAAAAAICIiIjMu8vMzGz/AAAAAACIZmZmyLy7zMzM9gAAAACAeGZmZobMu8zMzMwPAAAAgGdmZmZmyLvLzMzMDwAAAIhnZmZmZsi8y8zMzPwAAAB4ZmZmZmaGvLvMzMz8AACAZ2ZmZmZmhsy9zMzM/AAAgGd5d3d3d4bM3czMzPwAAIBniIiIiIiHzN3MzMz7AACAZ2h3iJaJh8zdvLu7+wAAgIeYd4hmiYjM3by7u/sAAICHmHeIZomIzN28u7v7AACAh5h3iGaJiMzdu7u7+wAAgIeYd4hmiYjM3bu7u/sAAICHmHeIZomIzN27u7v7AACAZ5iZiGaJiMzdu7u7+wAAgGeGiJaIiIjM3bu7u/sAAIB3hohmiIiGzN27u7v7AAAAeGZmZndmhrwRu7u7+wAAAIhnZmZmZsgcEbu7u/sAAACAZ2ZmZmbIG9Hb3d0PAAAAgHhmZmaGzN293d29DwAAAACIZ2ZmyLzdvbu7+wAAAAAAgIiIiMzb3czMzP8AAAAAAACAiMi73cvMzPwPAAAAAAAAAADAzMzMzPz/AAAAAAAAAAAAAPz///8PAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"B static down\"\n },\n \"image3\": {\n \"data\": \"hwSgAHgAAAAuIu4i4u7u7u7u7u7u7u7u7u7u7u7u7u7uIiIiIiIiIuLuLiLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIuIuIi4u7u7u7u7u7u7u7u7u7u7u4i7u4iIiIiIiLi7u7uLiLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIuIuIi4u7u7u7u7u7u7u4u4u7u7iLu7iIiIiIiIu7uIiLiLiLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiLuIuIy4u7u7u7u7u7u7i4i7u7uIu7uIiIiIiLi7i4iIiLiLiLu7u7u7u7u7u7uLiIiIiIiIiIiIiIiIiLuIuI+Iu7u7u7u7u7uIiLu7i4i7u4iIiIiIuIuIiIiIuLuLiIuIiIiIiIiIiLi7u7uIiIiIiIiIiIiIiLiIuIuI+7u7u7u7u4iIu7uLiLu7iIiIiIi7iIiIiIi4u7uIuLu7u7uLiIiIiIiIiIiIiIiIu7u7u4iIiLiLuIuI+7u7u7u7iIi7u4iIu7uIiIiIiIiIiIiIiIi7u4uIu7u7u7u7u7uLiIiIiIiIuLuLiIiIu7u7u7iLuIuM+7u7u7uIiLu7iIi7u4iIiIiIiIiIiIyIyLu7u4i4u7uIiIi7u7u7u7uLiIiIiIi7u7uLiIiIuIiLiIuM+7u7i4iIu4uIiLi7iIiIiIiIiIiIiIzIu7uLiLi7v/v7u4iIiIi7u7u7u4uIiIiIiLi7u4u4u4i7iIuMu7uLiLi7iIiIuIuIiIiIiIiIiIiIjMj7iLu7u7u///////u7iIiIiIiIu7u7iIiIiIiIiLu7rsi7iIuMuIuIuIiIiIi4iIiIiIiIiIiIiIiMjMiIu7u////////////7+4uIiIiIiIiIu4iIiIiIiIi4rsi7iIuMuMiIiIiIiIiIiIiIiIiIiIiIiIiMyIi4u7+///////////////v7i4iIiIiIiIiIiIiIiIi4rsi7iIuMuMiIiIiIiIiIiIiIiIiIiIiIiIzIyIi7u7//////////////////+7uIiLi7iIiIiIiIiIi7rsi4iIiMuMiIiIiIiIiIiIiIiIiIiIiIjIzIiLi7v/////////////////////r7iIiIu4uIiIiIiIivrsi4iIiMuMiIiIiIiIiIiIiIiIiIiIiIjMiMuLu/v////////////////////+76+4uIiLi7iIiIiLivrsi4iIiMuMiIiIiIiIiIiIiIiIiIiIiMyMyI+7u//////////////////////+/u7vuLiIiIu4iIuLuu7si4iIiMuMiIiIiIiIiIiIiIiIiIiIyIyIz4u7+//////////////////////+/u7u77i4iIiLu7u67u7si4iIiMuMiIiIiIiIiIiIiIiIiIiIzIjMj7v7///////////////////////+/u7u7u+4uIiIi7r67u7si4iIiMuMiIiIiIiIiIiIiIiIiIjIiPjPu7v////////////////////////+7u7u7u7vuLiIi7ru7u7si4iIiMuMiIiIiIiIiIiIi7iIiIiLiM+Pu/v////////////////////////+7u7u7u7u77u7uvru7u7si4iIiMuMiIiIiIiIiIiLiIiIiIuI+I+7+/////////////////////////7+7u7u7u7u7u+67u7u7u7si4iIiMuIiIiIiIiIiIuIuIiIi4j4z7u7///////////////////////////+7u7u7u7u7u7u7u7u7u7si4iIiMuIiIiIiIiIi4i4iIiLi7jPj7v7///////////////////////////+7u7u7u7u7u7u7u7u7u7siIiIiIuIiIiIiIiLi7iIiIiLuPjPu/v////////////////////////////+/u7u7u7u7u7u7u7u7u7siIiIiIuIiIiIiIuLuIiIiIu4+M+7u//////////////////////////////+/u7u7u7u7u7u7u7u7u7siIiIiIuIuIiIi4u4uIiIi4u4z4+7+//////////////////////////////+/u7u7u7u7u7u7u7u7u7siIiIiIuIuIiLi7i4iIiIi7j4z7v7///////////////////////////////+/u7u7u7u7u7u7u7u7u7siIiIiIuLiIiLuLiIiIiLuPjPu7v////////////////////////////////+/u7u7u7u7u7u7u7u7u7siIi4iIuLi7u7uIiIiIuLuM+Pu/v////////////////////////////////+7u7u7u7u7u7u7u7u7u7siIi4iIuLi7u4iIiIi4u4y4+7+/////////////////////////////////7+7u7u7u7u7u7u7u7u7u7si4i4iIuLi7iIiIiIi7j4j7u7//////////////////////////////////7+7u7u7u7u7u7u7u7u7u7si4i7iIu4i7iIiIiLuLiPu7v///////////////////////////////////7+7u7u7u7u7u7u7u7u7u7si4iLiIu4i7iIiIuLuIuLu/v//////////////////////////7+7u7u7///+7u7u7u7u7u7u7u7u7u7si4iLiIi4i7iIi4u4i4u7+////////////////////////7+7u7u7u/v////+7u7u7u7u7u7u7u7u7u7si7iLuIi4i7u7u7iLi7v7/////////////////////7+7u7u7u7v////////+7u7u7u7u7u7u7u7u7u7siLiIuIu4i7u/uIuLu/v///////////////////+7u7u7u7v////////////+7u7u7u7u7u7u7u7u7u7siLiIu4u4i4u8iIu7u/////////////////+7u7u7u7v////////////////+7u7u7u7u7u7u7u7u7u7viLuIu4u4i4u8i7u7//////////////+7u7u7u7v///////////////////767u7u7u9vdvbu7u7u7u7viIuIi4uIi4i/u/v///////////+7u7u7u7v/////////////////v7u7u7r67u7u7293d3b27u7u7u7vuIu4i4uIi4u/+/////////+7u7u7u/v//////////////7+7u7u7u7u7u7u67u7u73d3d3d27u7u7u7suIi4i7uIi4v///////+/u/v/////////////////u7u7u7u7u7u7u7u7u7u67u7vb3d3d3d29u7u7u7si4i4i7uIi4v//////////////////////7+7u7u7u///v7u7u7u7u7u7u7u67u7vd3d3d3d3du7u7u7si4i7iLuIi4v//////////////////7u7u7u7u/v//7u7u7u7u7u7u7u7u7u67u7vd3d3d3d3du7u7u7si7iLiLiIi4v/////////////v7u7u7u7u/v//7+7u7u7u7u7u7u7u7u7u7u67u9vd3d3d3d3dvbu7u7vi7iLiLiIi8v/////////v7u7u7u7u/v//7+7u7u7u7u7u7u7u7u7u7u7u7r67u9vd3d3d3d3dvbu7u7vuLiLuLiIi/v/////v7u7u7u7u/v//7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u67u93d3d3d3d3d3bu7u7vuLiLuLiIi/v/u7u7u7u7u///v7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uIuK+u93d3d3d3d3d3bu7u7vi7uLuLuIi/u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uLiIiIuK+293d3d3d3d3d3b27u7si7u7uLu4i7+7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7i4iIiIi7u67293d3d3d3d3d3b27u7si4u7uIu4i7+7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u4uIiIiIu7u7u67293d3d3d3d3d3b27u7siIu8uIi7i7+7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uLiIiIuLu7u7u7u673d3d3d3d3d3d3d27u7suIvIu4i7y7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7iIiIiLi7u7u7u7u7uK73d3d3d3d3d3d3d27u7vuIuIv4i7y7u7u7u7u7u7u7u7u7u7u7u7u7u7u7i4iIiIi7u7u7u7u7u4iIuK+3d3d3d3d3d3d3d27u7viLiLv4iL+7u7u7u7u7u7u7u7u7u7u7u7u7u4uIiIi7u7u7u7u7u7uLiIiIiLe3d3d3d3d3d3d3d29u7si7iL+7iLv7u7u7u7u7u7u7u7u7u7u7u7uIiIi7u7u7u7u7u7u7u4iIiIiIiLe3d3d3d3d3d3d3d29u7si7iLy7iLv7u7u7u7u7u7u7u7u7u7u7i7i7u7u7u7u7u7u7u7uIiIiIiIiIiLe3d3d3d3d3d3d3d29u7si4i7yL/Lu7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uLiIiIiIiIiIiIuLe3d3d3d3d3d3d3d29u7si4i7iL//u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uLiIiIiIiIiIiIiIiIuLd3d3d3d3d3d3d3d3du7siIi4i/+/u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7iIiIiIiIiIiIiIi4u7u7r7d3d3d3d3d3d3d3d3du7siIu4i/u7u7u7u7u7u7u7u7u7u7u7u7u7u7iIiIiIiIiIiIuLu7u7u7u7uIuLd3d3d3d3d3d3d3d3du7suIu4i8u7u7u7u7u7u7u7u7u7u7u7u7iIiIiIiIiIi4u7u7u7u7u4iIiIiIuLe3d3d3d3d3d3d3d3du7suIuIi8u/u7u7u7u7u7u7u7u7u7iIiIiIiIiIi7u7u7u7u7iIiIiIiIiIiIuLe3d3d3d3d3d3d3d3du7suIuIi4u/u7u7u7u7u7u7uIiIiIiIiIiLu7u7u7u7u7iIiIiIiIiIiIiIiIuLe3d3d3d3d3d3d3d3du7vuIuIi4u/u7u7u7u4uIiIiIiIiIuLu7u7u7u7uLiIiIiIiIiIiIiIiIiIiIuLe3d3d3d3d3d3d3d3dvbvuIuIuIu/u7u7uLiIiIiIi4u7u7u7u7u7uIiIiIiIiIiIiIiIiIrLMzCwiIuLd3d3d3d3d3d3d3d3dvbviIuIuIu/u7u7u7u7u7u7u7u7u7u4iIiIiIiIiIiIiIiIiIiLi7rsREcvu7t7d3d3d3d3d3d3d3d3dvbviLuIuIu/u7u7u7u7u7u7u7i4iIiIiIiIiIiIiIiIi4u7u7u6+zByxG7EsIt7d3c3MzN3d3d3d3d3dvbviLuIuIu/u7u7u7i4iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiLbERy7uxEsIuLd3bwRsd3d3d3d3d3dvbsiLiIuIv7u7i4iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIrLdERzbuxEsIuLdzdsRsd3d3d3d3d3dvbsi7iIuIv7u7i4iIiIiIiIi7u7u7u7uIiIiIiIiIiIiIiIiItvdERzc3REsIsLMzN0Rsd3d3d3d3d3dvbsi7iIuIvLu7u7u7u7u7u7u7u4iIiIiIiIiIiIiIiIiIiIist3dERy83c0iIrwdzd0Rsd3d3d3d3d3dvbsi7iIuIvLu7u7u7i4iIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dEdzBy8zMzLwb0dsRsd3d3d3d3d3dvbsi7iIuIvIuIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dEdyx3bu7u7u7EdsRsd3d3d3d3d3dvbsi4iIiIvLuIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dERwd293d3d29EdsRsd3d3d3d3d3dvbsi4iIiMvLuIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dERwdvdG7u7u7G7ERsd3d3d3d3d3dvbsi4iIiMvLuIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dEdzRsRG73d3dG7ERsd3d3d3d3d3dvbsi4iIiMvLuIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dEbzR0RsRERERG7ERsd3d3d3d3d3dvbsi4iIiMvLuIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dEbwdHRvb3d3dG7ERsd3d3d3d3d3dvbsi4iIjMvLuLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dEbwbHRu73d3dG7ERsd3d3d3d3d3dvbsi4iIjMvLuLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dEbwbHRsRERERG7ERsd3d3d3d3d3dvbsi4iIjMvLuLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dEbwbHRsRERERG7ERsd3d3d3d3d3dvbsi4iIjMvLuLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dEbwbHRu73d3dG7ERsd3d3d3d3d3dvbsi4jIjMvPuLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dEbwdHRvb3d3dG7ERsd3d3d3d3d3dvbsiIjIjMvPuLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dEbzR0RsRERERG7ERsd3d3d3d3d3dvbsiIjIjMvPuLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dEdzRsRG73d3dG7ERsd3d3d3d3d3dvbsiIjIjMvPuLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dERwdvdG7u7u7G7ERsd3d3d3d3d3dvbsiIjIjMvPuLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dERwd293d3d29EdsRsd3d3d3d3d3dvbsiIjIjMvPuLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dEdyx3bu7u7u7EdsRsd3d3d3d3d3dvbsiIj4jMvPuIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi293dEdzBy8zMzLwb0dsRsd3d3d3d3d3dvbsiIj4iMvPuIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIist3dERy83c0iIrwdzd0Rsd3d3d3d3d3dvbsi4j4iMvPuIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiItvdERzc3REsIsLMzN0Rsd3d3d3d3d3dvbsi4j7iMvIuIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIrLdERzbuxEsIuLezdsRsd3d3d3d3d3dvbsi4jLiM+/u7u7u7u4iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiLbERy7uxEsIuLe3bwRsd3d3d3d3d3dvbsi4jPiM+/u7i4iIiLu7u7u7u7u7u7u7iIiIiIiIiIiIiIiIiKyzByxG7EsIuLd3c3MzN3d3d3d3d3dvbsi7jPuM+/uLiIiIiIiIiIiIiIi4u7u7u7u7u7uIiIiIiIiIiIiIrsREcsiIuLd3d3d3d3d3d3d3d3dvbsiLiMuI+/u7iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIuLu7u7u7r7MzOzu7t7d3d3d3d3d3d3d3d3dvbsiLiMu4+/u7u7u7iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiLu7u7u7t7d3d3d3d3d3d3d3d3dvbviLuM+4+/u7u7u7u7u7iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIuLd3d3d3d3d3d3d3d3du7viIuMy8+/u7u7u7u7u7u7u7u7uIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIuLe3d3d3d3d3d3d3d3du7vuIu4y8u7u7u7u7u7u7u7u7u7u7u7u7u7uIiIiIiIiIiIiIiIiIiIiIiIiIuLe3d3d3d3d3d3d3d3du7suMi4y/u7u7u7uLiIi4u7u7u7u7u7u7u7u7u7u7u7u7i4iIiIiIiIiIiIiIuLe3d3d3d3d3d3d3d3du7si4i4j/+/u7u7u7u7uIiIiIiIi4u7u7u7u7u7u7u7u7u7u7u7u7u7u7u4iIuLe3d3d3d3d3d3d3d3du7si4i7jL//u7u7u7u7u7u7uIiIiIiIiIiLi7u7u7u7u7u7u7u7u7u7u7u7u7uLd3d3d3d3d3d3d3d3du7si7iLyL/Lu7u7u7u7u7u7u7u7u7iIiIiIiIiIiIiLi7u7u7u7u7u7u7u7u7r7b3d3d3d3d3d3d3d29u7vi7iLy7iLv7u7u7u7u7u7u7u7u7u7u7u7uIiIiIiIiIiIiIuLu7u7u7u7u7u7b3d3d3d3d3d3d3d29u7viLiL+7iLv7u7u7u7u7u7u7u7u7u7u7u7u7u7u7i4iIiIiIiIiIiLi7u7u7u7b3d3d3d3d3d3d3d29u7vuLiLv4iL+7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uIiIiIiIiIiIiIu7b3d3d3d3d3d3d3d29u7vuIuIv4i7y7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u4u7u7u7u7u7iIiIiIiIiK+3d3d3d3d3d3d3d27u7vuIv4u4i7y7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uLiIiIu7u7u7u7u4iIiK+3d3d3d3d3d3d3d27u7suIu/uIi7i7+7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uIiIiIiLu7u7u7uK+3d3d3d3d3d3d3d27u7si4i7uIu4i7+7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uIiIiIiLi7uK7293d3d3d3d3d3b27u7si7iLiLu4i7+7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uIiIiIuK7293d3d3d3d3d3b27u7vi7i7iLuIi/v//7+7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uIu67293d3d3d3d3d3b27u7vu4i7iLiIi/v//////7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u67u93d3d3d3d3d3bu7u7suIi4j7iIi/v/////////v7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u6+u93d3d3d3d3d3bu7u7siIu4y7iIi8v/////////////u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u6+u9vd3d3d3d3dvbu7u7suIu4y4iIi4v///////////+7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u67u9vd3d3d3d3dvbu7u7suIuIy4uIi4v/////////////v7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7r67u7vd3d3d3d3du7u7u7suIuIy4+4i4v///////////////+/u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u67u7vd3d3d3d3du7u7u7vuIuIy4+4i4v//////////////////7+7u7u7u7u7u7u7u7u7u7u7u7u7u7u67u7vb3d3d3d29u7u7u7vuIuIuI+4i4u/+////////////////////7u7u7u7u7u7u7u7u7u7u7u7u7u67u7u73d3d3d27u7u7u7viIuIuM+4i4i/u/v///////+/u7v//////////7u7u7u7u7u7u7u7u7u7u7u67u7u7293d3b27u7u7u7viLuIuM+4i4u8i7u7//////////+7u7u7/////////7u7u7u7u7u7u7u7u7u67u7u7u9vdvbu7u7u7u7viLuIuM+4i4u8iIj7u////////////7+7u7v7////////v7u7u7u7u7u7u7r67u7u7u7u7u7u7u7u7u7siLiIuM+4i7u/uIuIz/v/////////////v7u7u7v///////+/u7v7u7u7u7r67u7u7u7u7u7u7u7u7u7si7iIuM+4i7u7u7iLiM/7////////////////u7u7u/v///////////+7u/v+7u7u7u7u7u7u7u7u7u7si7iIuM+Ii7iIi4u4iMjP+/////////////////+/u7u7u///////////v/v+7u7u7u7u7u7u7u7u7u7si7iIuM+Ii7iIiIuLuIjPj/v//////////////////7+7u7u7///////////+7u7u7u7u7u7u7u7u7u7si7iIuM+Ii7iIiIiLuLiIz4///////////////////////7u7u7v////////+7u7u7u7u7u7u7u7u7u7si4iIiM+Li7iIiIiIi7i4yM+7////////////////////////u7u7+//////+7u7u7u7u7u7u7u7u7u7si4iIiM+Li7u4iIiIi4u4iMjP+/////////////////////////+7u/v///7+7u7u7u7u7u7u7u7u7u7si4iIiM+Li7u7uIiIiIuLuIjPj/v///////////////////////////////7+7u7u7u7u7u7u7u7u7u7si4iIiM+LiIiLuLiIiIiLuLjIz7v///////////////////////////////7+7u7u7u7u7u7u7u7u7u7si4iIiM+IuIiLi7i4iIiIi7i4yM/7///////////////////////////////+7u7u7u7u7u7u7u7u7u7si4iIiI+IuIiIi4u4uIiIi4u4iM+P+//////////////////////////////+/u7u7u7u7u7u7u7u7u7si4iIiI+IiIiIiIuLuIiIiIu4uMjPu//////////////////////////////+/u7u7u7u7u7u7u7u7u7si4iIiI+IiIiIiIiLi7iIiIiLuLjIz/v////////////////////////////+/u7u7u7u7u7u7u7u7u7si4iIiIuIiIiIiIiIi4i4iIiLi7iIz4/7///////////////////////////+/u7u7u7u7u7u7u7u7u7si4iIiIuIiIiIiIiIiIuIuIiIi4i4iM+7///////////////////////////+/u7u7u7u7u7u7u7u7u7siIiIiIuIiIiIiIiIiIiLiIiIiIuIuMuP+//////////////////////////+7u7u7u7u7u+67u7u7u7siIiIiIuIiIiIiIiIiIiIi7iIiIjPiIjLj/v////////////////////////+7u7u7u7u77u7uvru7u7siIiIiIuIiIiIiIiIiIiIiIiIiIiIzLiIz7v///////////////////////7+7u7u7u7vuLiIi7ru7u7siIiIiIuIiIiIiIiIiIiIiIiIiIiIiMyMi7v7///////////////////////+7u7u7u+4uIiIi7r67u7siIiIiIuIiIiIiIiIiIiIiIiIiIiIiIjMj4u7+//////////////////////+7u7u77i4iIiLu7u67u7siIi4iIuIiIiIiIiIiIiIiIiIiIiIiIiIzI+7u//////////////////////+/u7vuLiIiIu4iIuLuu7siIi4iIuIiIiIiIiIiIiIiIiIiIiIiIiIiM+Pu/v////////////////////+/6+4uIiLi7iIiIiLivrsi4i4iIuIiIiIiIiIiIiIiIiIiIiIiIiIiIjPj7v/////////////////////v7iIiIu4uIiIiIiIivrsi4i7iIu4iIiIiIiIiIiIiIiIiIiIiIiIiIiIz4+7//////////////////+7uIiLi7iIiIiIiIiIi7rsi4iLiIu4iIiIiIiIiIiIiIiIiIiIiIiIiIiIiM+7+///////////////v7i4iIiIiIiIiIiIiIiIi4rsi4iLiIu4uIuIiIiIi4iIiIiIiIiIiIiIiIiIiIjPu////////////7+4uIiIiIiIiIu4iIiIiIiIi4rsi7iLuIu7uLiLi7iIiIuIuIiIiIiIiIiIiIiIi7iLu7u7u///////u7iIiIiIiIu7u7iIiIiIiIiLu7rsiLiIuIu7u7i4iIu4uIiLi7iIiIiIiIiIiIiIiIu7uLiLi7v/v7u4iIiIi7u7u7u4uIiIiIiLi7u4u4u4iLiIu4u7u7u7uIiLu7iIi7u4iIiIiIiIiIiIiIiLu7u4i4u7uIiIi7u7u7u7uLiIiIiIi7u7uLiIiIuLiLuIu4u7u7u7u7iIi7u4iIu7uIiIiIiIiIiIiIiIi7u4uIu7u7u7u7u7uLiIiIiIiIuLuLiIiIu7u7u7iIuIi4u7u7u7u7u4iIu7uLiLu7iIiIiIi7iIiIiIi4u7uIuLu7u7uLiIiIiIiIiIiIiIiIu7u7u4iIiLuIu4i4u7u7u7u7u7uIiLu7i4i7u4iIiIiIuIuIiIiIuLuLiIuIiIiIiIiIiLi7u7uIiIiIiIiIiIiIiIuIi4i7u7u7u7u7u7u7i4i7u7uIu7uIiIiIiLi7i4iIiLiLiLu7u7u7u7u7u7uLiIiIiIiIiIiIiIiIiIi4i4i7u7u7u7u7u7u7u4u4u7u7iLu7iIiIiIiIu7uIiLiLiLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi4i7i7u7u7u7u7u7u7u7u7u7u7u4i7u4iIiIiIiLi7u7uLiLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi7iLi7u7u7u7u7u7u7u7u7u7u7u7u7u7uIiIiIiIiIuLuLiLiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"TheStage\"\n },\n \"5e{yt}jr\": {\n \"data\": \"hwQQABAAAAAAALC7AAAAAAAAsNULAAAAAACw1b3MzAwAALBVvVtVDACwu1VVVdUMALtVVVVVvQywXVVVVVXLANtVVVVV1csA21VVVVXVywCwXRURVVXLAAC7FRFVVb0MALDbEVVV1QwAALBVvVtVDAAAsNW9zMwMAACw1QsAAAAAALC7AAAAAA==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Big Star\"\n },\n \"*\": {\n \"mimeType\": \"image/x-mkcd-f4\",\n \"dataEncoding\": \"base64\",\n \"namespace\": \"myImages\"\n }\n}",
|
|
202
|
+
"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 \"!r?I5Fj]J6v+x]co_+y$\":\n case \"A static\":return img`\n..........666666666666..........\n........6667777777777666........\n......66677777777777777666......\n.....6677777779999777777766.....\n....667777779966669977777766....\n....677777799668866117777776....\n...66777779966877861197777766...\n...66777799668677686699777766...\n...88777796688888888669777788...\n...88777788888888888888777788...\n...88977888679999997688877988...\n...88977886777777777768877988...\n...88997777777777777777779988...\n...88799777777777777777711788...\n...88679997777777777779117688...\n..cc866679999999999999976668cc..\n.ccbc6666679999999999766666cbcc.\n.fcbcc66666666666666666666ccbcf.\n.fcbbcc666666666666666666ccbdcf.\n.f8bbbccc66666666666666cccbddcf.\n.f8cbbbbccccccccccccccccbdddbcf.\n.f8ccbbbbbccccccccccccb111ddccf.\n.f6ccccbbbddddddddddddd111dcccf.\n.f6ccccccbbddddddddddddddbbcccf.\n.f6cccccccccccccbbbbbbbbbdbcccf.\n..f6cccccccccbbbbbbbbbbbddbccf..\n..f6cccccccccbbbbbbbbbbbddbccf..\n..ff6ccccccccbbbbbbbbbbbddbcff..\n...ff6cccccccbbbbbbbbbbbddbff...\n....ffcccccccbbbbbbbbbbbdbff....\n......ffccccbbbbbbbbbbbbff......\n........ffffffffffffffff........\n`;\n case \"sB$iw}0Z})=]AAM?L8At\":\n case \"B static\":return img`\n..........666666666666..........\n........6667777777777666........\n......66677778888887777666......\n.....6677779888888886777766.....\n....667777768699999986777766....\n....677777968777777988777776....\n...66777779687777779887777766...\n...66777779688888888777777766...\n...88777779688888888977777788...\n...88777779687777777867777788...\n...88977779687777777889777988...\n...88977779686666666889777988...\n...88997779688888888889777988...\n...88799777668888888877711788...\n...88679997777777777779117688...\n..cc866679999999999999976668cc..\n.ccbc6666679999999999766666cbcc.\n.fcbcc66666666666666666666ccbcf.\n.fcbbcc666666666666666666ccbdcf.\n.f8bbbccc66666666666666cccbddcf.\n.f8cbbbbccccccccccccccccbdddbcf.\n.f8ccbbbbbccccccccccccb111ddccf.\n.f6ccccbbbddddddddddddd111dcccf.\n.f6ccccccbbddddddddddddddbbcccf.\n.f6cccccccccccccbbbbbbbbbdbcccf.\n..f6cccccccccbbbbbbbbbbbddbccf..\n..f6cccccccccbbbbbbbbbbbddbccf..\n..ff6ccccccccbbbbbbbbbbbddbcff..\n...ff6cccccccbbbbbbbbbbbddbff...\n....ffcccccccbbbbbbbbbbbdbff....\n......ffccccbbbbbbbbbbbbff......\n........ffffffffffffffff........\n`;\n case \"image2\":\n case \"A static Down\":return img`\n................................\n................................\n................................\n................................\n................................\n..........888888888888..........\n........8887777777777888........\n......88877666666666677888......\n.....8877666667777666667788.....\n....887666667788887766666788....\n....866666677888888996666678....\n...88666667788877889976666688...\n...88666677888677688877666688...\n...88666778888888888887766688...\n...88667788888888888888776688...\n..cc866788866777777668887668cc..\n.ccbc8668866666666666688668cbcc.\n.fcbcc86666666666666666668ccbcf.\n.fcbbcc886666666666666688ccbdcf.\n.f8bbbccc88888888888888cccbddcf.\n.f8cbbbbccccccccccccccccbdddbcf.\n.f8ccbbbbbccccccccccccb11dddccf.\n.f6ccccbbbdddddddddddd111ddcccf.\n.f6ccccccbbddddddddddd11dbbcccf.\n.f6cccccccccccccbbbbbbbbbdbcccf.\n..f6cccccccccbbbbbbbbbbbddbccf..\n..f6cccccccccbbbbbbbbbbbddbccf..\n..ff6ccccccccbbbbbbbbbbbddbcff..\n...ff6cccccccbbbbbbbbbbbddbff...\n....ffcccccccbbbbbbbbbbbdbff....\n......ffccccbbbbbbbbbbbbff......\n........ffffffffffffffff........\n`;\n case \"image1\":\n case \"B static down\":return img`\n................................\n................................\n................................\n................................\n................................\n..........888888888888..........\n........8877777777777788........\n......88876666888886677888......\n.....8877669888888886667788.....\n....887666678699999988666788....\n....866666678777777988666678....\n...88666666787777779886666688...\n...88666666788888888666666688...\n...88666666788888888966666688...\n...88666666786666666887666688...\n..cc866666678966666688766668cc..\n.ccbc8666667899999998866668cbcc.\n.fcbcc86666788888888886668ccbcf.\n.fcbbcc886667788888886688ccbdcf.\n.f8bbbccc88888888888888cccbddcf.\n.f8cbbbbccccccccccccccccbdddbcf.\n.f8ccbbbbbccccccccccccb11dddccf.\n.f6ccccbbbdddddddddddd111ddcccf.\n.f6ccccccbbddddddddddd11dbbcccf.\n.f6cccccccccccccbbbbbbbbbdbcccf.\n..f6cccccccccbbbbbbbbbbbddbccf..\n..f6cccccccccbbbbbbbbbbbddbccf..\n..ff6ccccccccbbbbbbbbbbbddbcff..\n...ff6cccccccbbbbbbbbbbbddbff...\n....ffcccccccbbbbbbbbbbbdbff....\n......ffccccbbbbbbbbbbbbff......\n........ffffffffffffffff........\n`;\n case \"image3\":\n case \"TheStage\":return img`\neeeee2222222222222222222222222222222222ee2222ee2222ee2222222eeeee2222222222222222222222222222222222ee22222eeee222ee2eeeee2222222222222222222222222222222222ee222\n222eeeee22222222222222222222222222222eee2222eeee2222ee222222222eeeee22222222222222222222222222222eee2222eeeee222ee22222eeeee22222222222222222222222222222eee2222\n222222eeeeeee222222222222222222222eeee22222eeeeee2222eee2222222222eeeeeee222222222222222222222eeee22222eeee2222ee222222222eeeeeee222222222222222222222eeee22222e\n222222222eeeeeeeeeeeeee2222222eeeee222222eeee22eee2222eeee22222222222eeeeeeeeeeeeee2222222eeeee222223eeee22222eeee22222222222eeeeeeeeeeeeee2222222eeeee222222eee\ne222222222222222222222222222eeee2222222eeee22222eef22222eeeee222222222222222222222222222eeee2333333eeee22222efe2eeeee222222222222222222222222222eeee2222222eeee2\neeeeeeee22222222222222222222222222222eee2222222eeeefe222222eeeeeeeee22222222222222333333333333322eee2222222efe22222eeeeeeeee22222222222222222222222222222eee2222\n2222eeeeeeeee222222222222222222222eeee2222222eeeeeeeffe222222222eeeeeeeee222223333333333322222eeee2223322effeee222322222eeeeeeeee222222222222222222222eeee222222\n2223322222222222222222222222222eeee2222222eeeeeeee222efffe222222222222222222222222222222222eeee2233332efffe22eeeee233333222222222222222222222222222eeee2222222ee\n2222233332222222222222222222222222222222eeeeeeeee22222eefffe2222222222222222222222222222222233333332efffee22222eeeee2233333333333333333332222222222222222222eeee\neeee22233333333333333332222222222222eeeeee222222222eeeee22ffffee22222222223333333333333333333332eeffff22eeeee22222eeeeee23333333333333222222222222222222eeeeeeee\neeeeeeeeee233333333332222222222eeeeeee2222222222eeeee2222ffeefffffffee2222222222223333333332fffffffeeff2222eeeee222222eeeeeeee222222222222222222222eeeeeeeeeeeee\neeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee22eeeeeeee2222eee222222ffeeeeeeeeeeffffffffffffffffffffffffeeeeeeeeeeff222222eee2222eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\neeeeeeeeeee22222222222222ee22222222222222222222222222effeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffe22222222222222222222222222ee22222222222222eeeeeeeeeee\neeeeeeeeee22222222222222222eeee2222222222222222222efffeeeeeeeeeeeeeeeeee2eeeeeeeeeeeeeeeeee2eeeeeeeeeeeeeefffe2222222222222222222eeee22222222222222222eeeeeeeeee\neeeeeeeeee222222222222222222eeeeeeee222222222eeefffeeeeeeeeeeeeeeeeeeeee222222eeeeeeeeee2222eeeeeeeeeeeeeeeeefffeee222222222eeeeeeee222222222222222222eeeeeeeeee\neeeeeeeee2222222222222222222eeeeeeeeeeeeeeeeffffeeeeeeeeeeeeeeeeeeeeeeee22222222222222222222ee2eeeeeeeeeeeeeeeeeffffeeeeeeeeeeeeeeee2222222222222222222eeeeeeeee\neeeeeeeee2222222222222222222ee2222effffffffffffeeeeeeeeeeeeeeeeeeeeeeeee22222222222222222222ee22eeeeeeeeeeeeeeeefffffffffffffe2222ee2222222222222222222eeeeeeeee\neeeeeeee22e22222222222222222ee2222eeee2efffffffeeeeeeeeeeeeeeeeeeeee22ee22222222222222222222e222eeeeeeeeeeeeeeeeffffffffe2eeee2222ee22222222222222222e22eeeeeeee\neeeeeeee2222222222222222222ee22222ee22eeffffffeeeeeeeeeeeeeeeeeeeeee22ee22222222222222222222e222eeeeeeeeeeeeeeeeffffffffee22ee22222ee2222222222222222222eeeeeeee\neeeeeeee2e2222222222222222eee22222ee22efffffffeeeeeeeeeeeeeeeeeeeeee22ee22222222222222222222e222eeeeeeeeeeeeeeeefffffffffe22ee22222eee2222222222222222e2eeeeeeee\neeeeeee22e2222222222222222ee222222e22eefffffffeeeeeeeeeeeeeeeeeeeeee22ee22222222222222222222e222eeeeeeeeeeeeeeeefffffffffee22e222222ee2222222222222222e22eeeeeee\neeeeeee22e222222222222222ee222222ee22effffffffeeeeeeeeeeeeeeeeee2eee22ee22222222222222222222e222eeee2eeeeeeeeeeeefffffffffe22ee222222ee222222222222222e22eeeeeee\neeeeee22e2222222222222222ee222222e22eeffffffffeeeeeeeeeeeeeeeeee2eee22ee22222222222222222222e2222eee2eeeeeeeeeeeefffffffffee22e222222ee2222222222222222e22eeeeee\neeeeee22e222222222222222ee222222ee2eeeffffffffeeeeeeeeeeeeeeeeee2ee222e222222222222222222222e2222eee2eeeeeeeeeeeefffffffffe3e2ee222222ee222222222222222e22eeeeee\neeeee22ee222222222222222ee22222ee22eefffffffffeeeeeeeeeeeeeeeeee2ee222e2222222222222222222222e222eee2eeeeeeeeeeeeffffffffffe322ee22222ee222222222222222ee22eeeee\neeeee22e222222222222222ee222222ee2eeeffffffffeeeeeeeeeeeeeeeeee22ee222e2222222222222222222222e222eee2eeeeeeeeeeeeffffffffffe3e2ee222222ee222222222222222e22eeeee\neeee22ee222222222222222e222222ee22eefffffffffeeeeeeeeeeeeeeeeee22ee222e2222222222222222222222e222eee22eeeeeeeeeeeeffffffffffe322ee222222e222222222222222ee22eeee\neeee22ee22e22222222222ee22222ee22eeffffffffffeeeeeeeeeeeeeeeeee22ee222e2222222222222222222222e222eeee2eeeeeeeeeeeefffffffffff3322ee22222ee22222222222e22ee22eeee\neeee2ee222222222222222e222222ee32eeffffffffffeeeeeeeeeeeeeeeeee22ee222e2222222222222222222222e2222eee2eeeeeeeeeeeefffffffffffe332ee222222e222222222222222ee2eeee\neee22ee22e22222222222e222222ee32eeffffffeffffeeeeeeeeeeeeeeeeee22ee222e2222222222222222222222e2222eee2eeeeeeeeeeeeffffffffffff3322ee222222e22222222222e22ee22eee\neee2ee222e22222222222e22222ee23eeeffffffeffffeeeeeeeeeeeeeeeeee22ee222e2222222222222222222222e2222eee2eeeeeeeeeeeeffffffffffffe3322ee22222e22222222222e222ee2eee\nee22ee22e22222222222e222222ee32eefffffffefffeeeeeeeeeeeeeeeeeee22ee222e2222222222222222222222e2222eee2eeeeeeeeeeeeeffffffffffffe332ee222222e22222222222e22ee22ee\nee2eee2ee2222222222e222222ee33eeefffffffefffeefeeeeeeeeeeeeeee222ee22ee2222222222222222222222e2222eee22eeeeeeeeeeeeffffffffffffe3322ee222222e2222222222ee2eee2ee\neeeee22ee2222222222e22222ee33eeeffffffffffffeefeeeeeeeeeeeeeee22eee22ee2222222222222222222222e2222eee22eeeeeeeeeeeefffffffffffffe3322ee22222e2222222222ee22eeeee\neeeee2ee2222222222222222eee33eeffffffffeffffeefeeeeeeeeeeeeeee22eee22ee2222222222222222222222e2222eee22eeeeeeeeeeeefeffffffffffffe332eee2222222222222222ee2eeeee\neeee22ee2222222222222222ee33eeeffffffffeffffeefeeeeeeeeeeeeeee22ee222ee2222222222222222222222e2222eee22eeeeeeeeeeeefeffffefffffffe3332ee2222222222222222ee22eeee\neeee2ee2222222222222222ee33eeefffffffffeffffeefeeeeeeeeeeeeeee22ee222e22222222222222222222222e2222eee22eeeeeeeeeeeeeeffffeffffffffe3322ee2222222222222222ee2eeee\neeee2ee222222222222222ee333eeffffffffffefffeeeeeeeeeeeeeeeeeee22ee222e22222222222222222222222e2222eee22eeeeeeeeeeeeeeefffefffffffffe3322ee222222222222222ee2eeee\neee2ee2222222222222222ee33eeeffffffffffefffeeeeeeeeeeeeeeeeeee22ee222e22222222222222222222222e22222ee22eeeeeeeeeeeeeeefffefffffffffee332ee2222222222222222ee2eee\neee2ee222222222222222ee33eeefffffffffffefffeefeeeeeeeeeeeeeeee22ee222e22222222222222222222222ee2222eee2eeeeeeeeeeeeeeefffeffffffffffe3332ee222222222222222ee2eee\nee2ee2222222222222222e33eeefffffffffffeefffeefeeeeeeeeeeeeeee222ee222e22222222222222222222222ee2222eee22eeeeeeeeeeeeeeffffeffffffffffe3322e2322222222222222ee2ee\nee2ee222222222222232e333eeffffffffffffeefffeefeeeeeeeeeeeeeee22eee222e22222222222222222222222ee2222eee22eeeeeeeeeeeeeeefffefffffffffffe3322e322222222222222ee2ee\ne2ee2222222222222322e33eeeffffffffffffeefffeefeeeeeeeeeeeeeee22ee2222e22222222222222222222222ee2222eee22eeeeeeeeeeeeeeefffefffffffffffee332e2322222222222222ee2e\ne2ee222222222222332e33eeefffffffffffffeefffeefeeeeeeeeeeeeeee22ee2222e22222222222222222222222ee2222eee22eeeeeeeeeeeeeeefffeffffffffffffe3322e322222222222222ee2e\neee222222222222332e33eeeffffffffffffffeeffeeeeeeeeeeeeeeeeeee22ee2222222222222222222222222222ee2222eee22eeeeeeeeeeeeeeefffefffffffffffffe3322e322222222222222eee\neee222222222222322332eefffffffffffffffefffeefeeeeeeeeeeeeeeee22ee2222222222222222222222222222ee2222eee22eeeeeeeeeeeeeeeeffeefffffffffffffe3322322222222222222eee\nee222222222222332333eeeffffffffffffffeefffeefeeeeeeeeeeeeeee222ee22222222222222222222222222222e2222eee22eeeeeeeeeeeeeeeeffeefffffffffffffee3223322222222222222ee\nee22222222222332233eeefffffffffffffffeefffeefeeeeeeeeee2eeee222ee22222222222222222222222222222e2222eee22eeeeeeeeeeeeeeeeffeeffffffffffffffee322322222222222222ee\ne22222222222332233eeeffffffffffffffffeefffeefeeeeeeeeee2eeee22eee22222222222222222222222222222e2222eee22eeeeeeeeeeeeeeeefffefffffffffffffffe3323322222222222222e\ne22222222222332332eefffffffffffffffffeefffeefeeeeeeeeeeeeeee22eee22222222222222222222222222222e2222eeee2eeeeeeeeeeeeeeeefffeefffffffffffffffe322322222222222222e\n22222e22222332232eeefffffffffffffffffeefffeefeeeeeeeee2eeeee22ee222222222222222222222222222222e22222eee22eeeeeeeeeeeeeeeeffeefffffffffffffffeee23322222222e22222\n22222e2222332232eeeffffffffffffffffffeeffeefeeeeeeeeee2eeeee22ee222222222222222222222222222222e22222eee22eeeeeeeeeeeeeeeeffeeffffffffffffffffeee2322222222e22222\n222222222332222eeeffffffffffffffffffeefffeefeeeeeeeeee2eeee222ee222222222222222222222222222222e22222eee22eeeeeeeeeeeeeeeeffeefffffffffffffffffeee332222222222222\n2222e222233222eeefffffffffffffffffffeefffeefeeeeeeeeee2eeee222ee222222222222222222222222222222e22222eee22eeeeeeeeeeeeeeeefffeffffffffffffffffffeee322222222e2222\n2222e222332222eeefffffffffffffffffffeefffeefeeeeeeeeee2eeee222ee222222222222222222222222222222e22222eee22eeeeeeeeeeeeeeeefffeefffffffffffffffffeee332222222e2222\n222e222332222eeeffffffffffffffffffffeefffeefeeeeeeeee22eeee222ee222222222222222222222222222222e22222eee22eeeeeeeeeeeeeeeefffeeffffffffffffffffffeee322222222e222\n222e22232e22eeefffffffffffffffffffffeefffeefeeeeeeeee2eeeee22eee222222222222222222222222222222222222eee22eeeeeeeeeeeeeeeeeffeefffffffffffffffffffee332e22222e222\n222e22222e2eeeffffffffffffffffffffffeefffefeeeeeeeeee2eeeee22ee2222222222222222222222222222222222222eee22eeeeeeeeeeeeeeeeeffeeffffffffffffffffffffee32e22222e222\n22ee2222e2eeeffffffffffffffffffffffeeffffefeeeeeeeeee2eeee222ee2222222222222222222222222222222222222eee22eeeeeeeeeeeeeeeeefffefffffffffffffffffffffee32e2222ee22\n22e22222e2eeeffffffffffffffffffffffeeffffefeeeeeeeee22eeee222ee2222222222222222222222222222222222222eee222eeeeeeeeeeeeeeeefffeeffffffffffffffffffffee32e22222e22\n22e2222eeeeefffffffffffffffffffffffeefffeefeeeeeeeee22eeee222ee2222222222222222222222222222222222222eee222eeeeeeeeeeeeeeeefffeefffffffffffffffffffffeeeee2222e22\n2ee2222eeeeffffffffffffffffffffffffeefffeefeeeeeeeee22eeee222ee2222222222222222222222222222222222222eeee22e2eeeeeeeeeeeeeefffeeffffffffffffffffffffffeeee2222ee2\n2e2222eeeefffffffffffffffffffffffffeefffefeeeeeeeeee2eeeee222ee2222222222222222222222222222222222222eeee22eeeeeeeeeeeeeeeeeffeefffffffffffffffffffffffeeee2222e2\n2e222eee2effffffffffffffffffffffffeeefffefeeeeeeeeee2eeee222eee222e222222222222222222222222222222222eeee22ee2eeeeeeeeeeeeeefffeeffffffffffffffffffffffe2eee222e2\n2e222eee2effffffffffffffffffffffffeeffffefeeeeeeeee22eeee222ee2222e222222222222222222222222222222222eeee22ee2eeeeeeeeeeeeeefffeeffffffffffffffffffffffe2eee222e2\nee22eeee2effffffffffffffffffffffffeeffffefeeeeeeeee22eeee222ee2222e2222222222222222222222222222e22222eee22ee2eeeeeeeeeeeeeefffeeffffffffffffffffffffffe2eeee22ee\nee22eee22effffffffffffffffffffffffeeffffefeeeeeeeee22eeee222ee2222e2222222222222222222222222222e22222eee22ee2eeeeeeeeeeeeeefffeeffffffffffffffffffffffe22eee22ee\neeeeee22eeffffffffffffffffffffffffeeffffeeeeeeeeeee22eeee222ee2222e2222222222222222222222222222e22222eee22ee2eeeeeeeeeeeeeeeffeeffffffffffffffffffffffee22eeeeee\neeeee222efffffffffffffffffffffffffeeffffeeeeeeeeeee2eeeee222ee2222e2222bbbbbbbbbbbbbbbbbb222222e22222eee222e22eeeeeeeeeeeeeefffeeffffffffffffffffffffffe222eeeee\n2222222eeffffffffffffffffffffffffeeefffeeeeeeeeeee22eeee2222ee2222e222bddddddddddddddddddb22222e22222eee222e22eeeeeeeeeeeeeefffeeffffffffffffffffffffffee2222222\n222222eefffffffffffffffffffffffffeeffffeeeeeeeeeee22eeee2222e22222e22bddddddddddddddddddddb2222e22222eee222ee2eeeeeeeeeeeeeefffeefffffffffffffffffffffffee222222\n22222eeefffffffffffffffffffffffffeeffffeeeeeeeeeee22eeee222ee22222e2bddddddddddddddddddddddb222e22222eeee22ee2eeeeeeeeeeeeeeeffeefffffffffffffffffffffffeee22222\n222eeeeefffffffffffffffffffffffffeeffffeeeeeeeeeee22eeee222ee22222ebddddddddddddddddddddddddb22e22222eeee22ee2eeeeeeeeeeeeeeefffeeffffffffffffffffffffffeeeee222\neeee2eeeeffffffffffffffffffffffffeeffffeeeeeeeeee22eeeee222ee2222ebddddddddddddddddddddddddddb2e22222eeee22ee2eeeeeeeeeeeeeeefffeefffffffffffffffffffffeeee2eeee\n222e2ee2effffffffffffffffffffffffeeffffeeeeeeeeee22eeee2222ee2222ec11111111111111111111111111c2e22222eeee22ee22eeeeeeeeeeeeeefffeefffffffffffffffffffffe2ee2e222\n222e2ee2efffffffffffffffffffffffeeeffffeeeeeeeeee22eeee2222ee2222ec11111111111111111111111111c2e22222eeee22ee22eeeeeeeeeeeeeefffeefffffffffffffffffffffe2ee2e222\n222e2ee2efffffffffffffffffffffffeefffffeeeeeeeeee22eeee2222ee2222bccccccccccccccccccccccccccccbe22222eeee222e22eeeeeeeeeeeeeeffffeeffffffffffffffffffffe2ee2e222\n222e2ee2efffffffffffffffffffffffeefffffeeeeeeeee22eeeee2222ee222bb11111dd11dbbbbbbbbd11dd11111bb22222eeee222e22eeeeeeeeeeeeefffffeeffffffffffffffffffffe2ee2e222\n222e2ee22effffffffffffffffffffffeefffffeeeeeeeee22eeee22222e2222c11bbcc11dd11dbbbbd11dd11ccbb11ce2222eeee222ee2eeeeeeeeeeeeeeffffeefffffffffffffffffffe22ee2e222\n222e2ee22effffffffffffffffffffffeeffffeeeeeeeeee22eeee22222e2222c1bbddbcb11dd111111dd11bcbddbb1ce2222eeeee22ee2eeeeeeeeeeeeeefffffefffffffffffffffffffe22ee2e222\n222e2eee2effffffffffffffffffffffeeffffeeeeeeeeee22eeee22222e2222c1bbbddbdbd11dddddd11dbdbddbbb1ce2222eeeee22ee22eeeeeeeeeeeeefffffefffffffffffffffffffe2eee2e222\n222e22ee2eefffffffffffffffffffffefffffeeeeeeeee222eee22222ee2222c11bbddcddbbd111111dbbddcddbb11ce2222eeeee22ee22eeeeeeeeeeeeeffffffffffffffffffffffffee2ee22e222\n222e22ee22efffffffffffffffffffffefffffeeeeeeeee22eeee22222ee2222cb1111dcbd11bbbbbbbb11dbcd1111bce2222eeeee22ee22eeeeeeeeeeeeeefffffffffffffffffffffffe22ee22e222\n222e22ee22efffffffffffffffffffffefffffeeeeeeeee22eeee22222ee22222cb111ccbdd1111111111ddbcc111bcee2222eeeee22ee22eeeeeeeeeeeeeefffffffffffffffffffffffe22ee22e222\n222e22ee22efffffffffffffffffffffffffffeeeeeeeee22eee222222ee22222ecccc2cbdbb1bb11bb1bbdbc2cccc2ee22222eeee222e22eeeeeeeeeeeeeefffffffffffffffffffffffe22ee22e222\n222e22ee222effffffffffffffffffffffffffeeeeeeeee22eee222222ee22222e22222cbdbb1db11bd1bbdbc222222ee22222eeee222ee2eeeeeeeeeeeeeeefffffffffffffffffffffe222ee22e222\n222e22eee22effffffffffffffffffffffffffeeeeeeee22eeee222222e222222e22222cbdbd1dd11dd1dbdbc222222ee22222eeee222ee22eeeeeeeeeeeeeefffffffffffffffffffffe22eee22e222\n222e222ee22effffffffffffffffffffffffffeeeeeeee22eeee222222e222222e22222cbdbd1dd11dd1dbdbc222222ee22222eeee222ee22eeeeeeeeeeeefffffffffffffffffffffffe22ee222e222\n222e222ee22eeffffffffffffffffffffffffeeeeeeeee22eee2222222e222222ee222ccbdbd1dd11dd1dbdbcc22222ee222222eeee22222eeeeeeeeeeeeeffffffffffffffffffffffee22ee222e222\n222e222ee222efffffffbffffffffbbbfffffbbeeeeebeeeeeeee222eebeeeeeeddeecbbbdbd1dd11dd1dbdbbbceeeeddeeeeeebeee22eeeeeeeebeeeeebbfffffbbbffffffffbfffffe222ee222e222\n222e222ee222ebbfffbbbbbfffffbbbbbbbbbbbbbbbbbbeebbbbeeeeedddeeeedddddcdbbdbd1dd11dd1dbdbbdceedddddeeeedbbbbeeebbbbeebbbbbbbbbbbbbbbbbbfffffbbbbbfffe222ee222e222\n222ee22ee222eebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddc11bbbd1dd11dd1dbbb11cddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbee222ee22ee222\n222ee22ee2222ebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdddddddddddddddddddcd111bbbbbbbbbbbb111dcdddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbe2222ee22ee222\n2222e222e2222eebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdddddddddddddddddddddcccd1111111111111111dcccdddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbee2222e222e2222\n2222e222ee2222ebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddcbddbbb111111111111bbbddbcddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbe2222ee222e2222\n2222e222ee2222ebbbbbbbbbbbbbbbbbbbbbbbbbbbbdddddddddddddddddddddddcbddddddbbbbbbbbbbbbddddddbcdddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbe2222ee222e2222\n2222e222ee2222eebbbbbbbbbbbbbbbbbbbbbbbbbdddddddddddddddddddddddddc11111111111111111111111111cdddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbee2222ee222e2222\n2222e2222e22e22ebbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddc11111111111111111111111111cddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbe22e22e2222e2222\n222222222e22e22eebbbbbbbbbbbbbbbbbbbbbbdddddddddddddddddddddddddddc11111111111111111111111111cdddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbee22e22e222222222\n222222222e22e222ebbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddcbbbbbbbbbbbbbbbbbbbbbbbbbbcddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbe222e22e222222222\n2222222222e22e22eebbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbee22e22e2222222222\n222222e222e22e222ebbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbe222e22e222e222222\n222222e222222e222eebbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbee222e222222e222222\n222222e2222222e222ebbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbe222e2222222e222222\n222222ee222222e222eebbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbee222e222222ee222222\n2222222e222222e2222ebbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbe2222e222222e2222222\n22222e2e2222222e222eebbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbee222e2222222e2e22222\n22222e2e2222222e222eebbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbee222e2222222e2e22222\n22222e2e22222222e22ebbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbe22e22222222e2e22222\n22222e2ee2222222e22ebbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbe22e2222222ee2e22222\n22222e2ee2222222eeeebbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbeeee2222222ee2e22222\n22222e22e2222222eeebbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbeee2222222e22e22222\n22222ee2e2222222eebbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbee2222222e2ee22222\n22222ee2e222222eebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbee222222e2ee22222\n222222e2ee22222ebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbe22222ee2e222222\n222222e22e2222eebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbee2222e22e222222\n222222e22e22eeebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbeee22e22e222222\n222222e2eeeeebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbeeeee2e222222\n222222e2ebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbe2e222222\n222222eeebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbeee222222\n`;\n case \"5e{yt}jr\":\n case \"Big Star\":return img`\n. . . . . . . b b . . . . . . . \n. . . . . . b d d b . . . . . . \n. . . . . b d 5 5 d b . . . . . \n. . . . b b 5 5 5 5 b b . . . . \n. . . . b 5 5 5 5 5 5 b . . . . \nb b b b b 5 5 5 5 1 1 d b b b b \nb 5 5 5 5 5 5 5 5 1 1 1 5 5 5 b \nb d d 5 5 5 5 5 5 1 1 1 5 d d b \n. b d d 5 5 5 5 5 5 5 5 d d b . \n. . b b 5 5 5 5 5 5 5 5 b b . . \n. . c b 5 5 5 5 5 5 5 5 b c . . \n. . c 5 5 5 5 d d 5 5 5 5 c . . \n. . c 5 5 d b b b b d 5 5 c . . \n. . c 5 d b c c c c b d 5 c . . \n. . c c c c . . . . c c c c . . \n. . . . . . . . . . . . . . . . \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",
|
|
203
|
+
"main.blocks": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable type=\"KIND_SpriteKind\" id=\"|KgMC9v7PPd!WAG[VeML\">Player</variable><variable type=\"KIND_SpriteKind\" id=\"p@;TC##%0g2~TEFH3z5@\">Projectile</variable><variable type=\"KIND_SpriteKind\" id=\"G;]u=CpYa_UDe#hFboV`\">Food</variable><variable type=\"KIND_SpriteKind\" id=\"99s_j!;ydDw75.O6V}+i\">Enemy</variable><variable id=\"vu)%hy._Di.z0r[dG/i0\">mySprite</variable><variable id=\"ETn~ZrhcD_HZ@^O]*t1x\">projectile</variable></variables></xml>",
|
|
204
|
+
"main.ts": "\n",
|
|
205
|
+
"pxt.json": "{\n \"name\": \"button - assets\",\n \"description\": \"\",\n \"dependencies\": {\n \"device\": \"*\",\n \"core\": \"*\"\n },\n \"files\": [\n \"main.blocks\",\n \"main.ts\",\n \"README.md\",\n \"assets.json\",\n \"images.g.jres\",\n \"images.g.ts\"\n ],\n \"targetVersions\": {\n \"branch\": \"v1.6.24\",\n \"tag\": \"v1.6.24\",\n \"commits\": \"https://github.com/microsoft/pxt-arcade/commits/5bea1575ea693e0648a647cbd86cda9776d58f48\",\n \"target\": \"1.6.24\",\n \"pxt\": \"7.2.25\"\n },\n \"preferredEditor\": \"blocksprj\"\n}\n"
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
# Simple Clicker Store
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
## {Introduction @showdialog}
|
|
5
|
+
|
|
6
|
+
What's more fun than pressing buttons?
|
|
7
|
+
|
|
8
|
+
**🛒 Buying things 🛒**
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Let's modify our clicker game to offer a simple shop.
|
|
13
|
+
|
|
14
|
+

|
|
15
|
+
|
|
16
|
+
## {Step 1}
|
|
17
|
+
|
|
18
|
+
**The code for a clicker game is already in the workspace.**
|
|
19
|
+
|
|
20
|
+
When you click **Ⓑ**, you get a super-clicker — but
|
|
21
|
+
what fun is it to get extra power for free? Let's add code to charge the player 10 points for the purchase.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
- :mouse pointer: From the ``||info:Info||`` category, grab a ``||info:change score by [1]||``
|
|
26
|
+
block and snap it into the top of the **on B button pressed** container.
|
|
27
|
+
|
|
28
|
+
- :mouse pointer: Change the value in the new block from **1** to **-10**.
|
|
29
|
+
|
|
30
|
+
```blocks
|
|
31
|
+
controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
32
|
+
//@highlight
|
|
33
|
+
info.changeScoreBy(-10)
|
|
34
|
+
power += 1
|
|
35
|
+
game.showLongText("You bought one extra click!", DialogLayout.Center)
|
|
36
|
+
})
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## {Step 2}
|
|
41
|
+
|
|
42
|
+
**💡 Now we're onto something 💡**
|
|
43
|
+
|
|
44
|
+
But what if the player doesn't have 10 points to spend?
|
|
45
|
+
Let's do a quick check of the player's score before we
|
|
46
|
+
upgrade the power.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
- :mouse pointer: From ``||logic:Logic||``, choose the top
|
|
51
|
+
``||logic:if <true> then||`` container and drag it into the top of your
|
|
52
|
+
**on B button pressed** container already in the workspace.
|
|
53
|
+
|
|
54
|
+
- :mouse pointer: To compare values, open the ``||logic: Logic||``
|
|
55
|
+
category and grab a ``||logic: [0] [<] [0]||`` to replace **`<true>`**.
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
```blocks
|
|
60
|
+
controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
61
|
+
if (0 < 0) {
|
|
62
|
+
|
|
63
|
+
}
|
|
64
|
+
info.changeScoreBy(-10)
|
|
65
|
+
power += 1
|
|
66
|
+
game.showLongText("You bought one extra click!", DialogLayout.Center)
|
|
67
|
+
})
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## {Step 3}
|
|
71
|
+
|
|
72
|
+
We should check that score is greater than (or equal to) **10**
|
|
73
|
+
before we charge the player 10 points.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
- :mouse pointer: To make sure the score is larger than (or equal to) 10, replace the first
|
|
78
|
+
**0** in ``||logic: [0] [<] [0]||`` with **10** and change **<**
|
|
79
|
+
to **≤**.
|
|
80
|
+
|
|
81
|
+
- :mouse pointer: Open the ``||info:Info||`` category and find the ``||info:score||`` value block.
|
|
82
|
+
Grab it and drop it in to replace the remaining **0** of the comparison argument.
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
```blocks
|
|
87
|
+
controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
88
|
+
if (10 <= info.score() {
|
|
89
|
+
|
|
90
|
+
}
|
|
91
|
+
info.changeScoreBy(-10)
|
|
92
|
+
power += 1
|
|
93
|
+
game.showLongText("You bought one extra click!", DialogLayout.Center)
|
|
94
|
+
})
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
## {Step 4}
|
|
99
|
+
|
|
100
|
+
Now if the player has a large enough score, you can charge them
|
|
101
|
+
10 points and give them their extra power.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
- :mouse pointer: The code to adjust the score and power are already at the bottom of the
|
|
106
|
+
**on B button pressed** container. Grab all of the code below and
|
|
107
|
+
drag it into the empty **if/then** container.
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
```blocks
|
|
111
|
+
controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
112
|
+
if (10 <= info.score() {
|
|
113
|
+
info.changeScoreBy(-10)
|
|
114
|
+
power += 1
|
|
115
|
+
game.showLongText("You bought one extra click!", DialogLayout.Center)
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
})
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
## {Step 6 @showdialog}
|
|
124
|
+
|
|
125
|
+
**🎮 Give your game a try on the game screen 🎮**
|
|
126
|
+
|
|
127
|
+
It should do what you expect...as long as you have 10 points to spend!
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
## {Step 7}
|
|
131
|
+
|
|
132
|
+
Finally, we should let the player know if they don't have enough points to
|
|
133
|
+
buy the clicker.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
- :mouse pointer: We already have a note that shows **if** the player has enough points.
|
|
138
|
+
Click the **⊕** at the bottom of the **if/then** container to create an **else** space
|
|
139
|
+
for code that runs when the **if** statement is not true.
|
|
140
|
+
|
|
141
|
+
- :mouse pointer: Now you have an **else** container. Grab another
|
|
142
|
+
``||game:show long text [" "] [bottom]||`` and drag it into the empty **else**.
|
|
143
|
+
|
|
144
|
+
- :mouse pointer: Click into the textarea of the new block and write a message to let your
|
|
145
|
+
player know that they didn't have enough points for an auto-clicker.
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
```blocks
|
|
149
|
+
controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
150
|
+
if (10 <= info.score()) {
|
|
151
|
+
let mySprite: Sprite = null
|
|
152
|
+
info.changeScoreBy(-10)
|
|
153
|
+
power +=1
|
|
154
|
+
game.showLongText("You bought one extra click!", DialogLayout.Bottom)
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
game.showLongText("Not enough points for an auto-clicker!", DialogLayout.Bottom)
|
|
158
|
+
}
|
|
159
|
+
})
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## {Finale}
|
|
163
|
+
|
|
164
|
+
**⚡️ Amazing ⚡️**
|
|
165
|
+
|
|
166
|
+
Now you have a clicker game with a simple shop. Give it a try on the game screen.
|
|
167
|
+
|
|
168
|
+
Click **Done** to return to the main page where you can share your game
|
|
169
|
+
with family and friends!
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
```template
|
|
174
|
+
controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
175
|
+
power += 1
|
|
176
|
+
game.showLongText("You bought one extra click!", DialogLayout.Center)
|
|
177
|
+
})
|
|
178
|
+
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
179
|
+
info.changeScoreBy(power)
|
|
180
|
+
mySprite.startEffect(effects.spray, 100)
|
|
181
|
+
})
|
|
182
|
+
info.onCountdownEnd(function () {
|
|
183
|
+
game.over(true, effects.confetti)
|
|
184
|
+
})
|
|
185
|
+
let power = 0
|
|
186
|
+
let mySprite: Sprite = null
|
|
187
|
+
scene.setBackgroundColor(11)
|
|
188
|
+
info.startCountdown(10)
|
|
189
|
+
game.splash("Press (A) to earn clicks!")
|
|
190
|
+
mySprite = sprites.create(img`
|
|
191
|
+
.........bbbbb................
|
|
192
|
+
........bb111bb...............
|
|
193
|
+
.......b1111111b..............
|
|
194
|
+
......bb1111111bb....bbb......
|
|
195
|
+
...bbbbd11111111bbbbbb1bb.....
|
|
196
|
+
..bb111dd111111111111111b.....
|
|
197
|
+
.bb111111111111111111111b.....
|
|
198
|
+
.b1111111111111111d11111bb....
|
|
199
|
+
bb111111111111111d1111111bb...
|
|
200
|
+
b111111111111111d111111111bb..
|
|
201
|
+
bb111111111111111d111111111bb.
|
|
202
|
+
.bbb11ddd111111111d11111111bb.
|
|
203
|
+
...bbbbbd1111111111bbb11bbbb..
|
|
204
|
+
.......bb11111111bbb.bbbb.....
|
|
205
|
+
........bbb11111bb............
|
|
206
|
+
..........bbbbbbb.............
|
|
207
|
+
`, SpriteKind.Player)
|
|
208
|
+
power = 1
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
```ghost
|
|
213
|
+
|
|
214
|
+
controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
215
|
+
if (10 <= info.score()) {
|
|
216
|
+
let mySprite: Sprite = null
|
|
217
|
+
info.changeScoreBy(-10)
|
|
218
|
+
power +=1
|
|
219
|
+
mySprite.say("You've purchased a super-clicker")
|
|
220
|
+
game.showLongText("You bought an auto-clicker!", DialogLayout.Center)
|
|
221
|
+
|
|
222
|
+
}
|
|
223
|
+
})
|
|
224
|
+
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
225
|
+
info.changeScoreBy(clicks)
|
|
226
|
+
})
|
|
227
|
+
let autoClicks = 0
|
|
228
|
+
let clicks = 0
|
|
229
|
+
clicks = 1
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
game.splash("")
|
|
233
|
+
game.setDialogTextColor(0)
|
|
234
|
+
game.setDialogCursor(img`
|
|
235
|
+
.
|
|
236
|
+
`)
|
|
237
|
+
})
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
```assetjson
|
|
245
|
+
{
|
|
246
|
+
"README.md": " ",
|
|
247
|
+
"images.g.jres": "{\n \"image2\": {\n \"data\": \"hwQeABAAAAAAAAAAuwsAAAAAALsbuwAAAACwGxGxAAAAALsREbELAAAAGxEREQsAAAAbERERCwAAsBsREdELAAC73RER0bsAsBHRERHRvQu7ERERERERCxsRERERERG7GxEREREREbEbERERERERsbsRERERERGxsBEREREREbEAuxERERERsQCwGxHRERG7AAAbER0dsQsAABvREdGxAAAAGxEREbsAAAAbERERCwAAsBsRERG7AACwEREREbEAALAbERERsQAAALu7ERG7AAAAALAbEQsAAAAAALsRCwAAAAAAsLsLAAAAAAAAuwAAAAAAAAAAAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Cloud\"\n },\n \"image3\": \"hwQeABAAAAAAAAAAuwsAAAAAALsbuwAAAACwGxGxAAAAALsREbELAAAAGxEREQsAAAAbERERCwAAsBsREdELAAC73RER0bsAsBHRERHRvQu7ERERERERCxsRERERERG7GxEREREREbEbERERERERsbsRERERERGxsBEREREREbEAuxERERERsQCwGxHRERG7AAAbER0dsQsAABvREdGxAAAAGxEREbsAAAAbERERCwAAsBsRERG7AACwEREREbEAALAbERERsQAAALu7ERG7AAAAALAbEQsAAAAAALsRCwAAAAAAsLsLAAAAAAAAuwAAAAAAAAAAAAA=\",\n \"*\": {\n \"mimeType\": \"image/x-mkcd-f4\",\n \"dataEncoding\": \"base64\",\n \"namespace\": \"myImages\"\n }\n}",
|
|
248
|
+
"images.g.ts": "// Auto-generated code. Do not edit.\nnamespace myImages {\n\n helpers._registerFactory(\"image\", function(name: string) {\n switch(helpers.stringTrim(name)) {\n case \"image2\":\n case \"Cloud\":return img`\n.........bbbbb................\n........bb111bb...............\n.......b1111111b..............\n......bb1111111bb....bbb......\n...bbbbd11111111bbbbbb1bb.....\n..bb111dd111111111111111b.....\n.bb111111111111111111111b.....\n.b1111111111111111d11111bb....\nbb111111111111111d1111111bb...\nb111111111111111d111111111bb..\nbb111111111111111d111111111bb.\n.bbb11ddd111111111d11111111bb.\n...bbbbbd1111111111bbb11bbbb..\n.......bb11111111bbb.bbbb.....\n........bbb11111bb............\n..........bbbbbbb.............\n`;\n case \"image3\":return img`\n.........bbbbb................\n........bb111bb...............\n.......b1111111b..............\n......bb1111111bb....bbb......\n...bbbbd11111111bbbbbb1bb.....\n..bb111dd111111111111111b.....\n.bb111111111111111111111b.....\n.b1111111111111111d11111bb....\nbb111111111111111d1111111bb...\nb111111111111111d111111111bb..\nbb111111111111111d111111111bb.\n.bbb11ddd111111111d11111111bb.\n...bbbbbd1111111111bbb11bbbb..\n.......bb11111111bbb.bbbb.....\n........bbb11111bb............\n..........bbbbbbb.............\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",
|
|
249
|
+
"main.blocks": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable type=\"KIND_SpriteKind\" id=\"4B?GV*)eD5DUvikVNk$t\">Player</variable><variable type=\"KIND_SpriteKind\" id=\"6j5)LMVdgl^XeJC*L.Dw\">Projectile</variable><variable type=\"KIND_SpriteKind\" id=\"TJcarl[PVtMHvEjiAkQ=\">Food</variable><variable type=\"KIND_SpriteKind\" id=\"l9d!xsEb8*84@?y9RWQJ\">Enemy</variable><variable id=\"OhzSzwl78,9[a~*FxDB+\">mySprite</variable><variable id=\"I?4@gJV,8)yi2RplwDBf\">power</variable><variable id=\"?SrrdKP|Z)`PL`-|XKVQ\">mySprite2</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"gamesetbackgroundcolor\"><value name=\"color\"><shadow type=\"colorindexpicker\"><field name=\"index\">11</field></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\"I?4@gJV,8)yi2RplwDBf\">power</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value><next><block type=\"gamecountdown\"><value name=\"duration\"><shadow type=\"math_number\"><field name=\"NUM\">10</field></shadow></value><next><block type=\"gameSplash\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"true\"></mutation><value name=\"title\"><shadow type=\"text\"><field name=\"TEXT\">Press (A) to earn clicks!</field></shadow></value><value name=\"subtitle\"><shadow type=\"text\"><field name=\"TEXT\"/></shadow></value></block></next></block></next></block></next></block></statement></block><block type=\"keyonevent\" x=\"410\" y=\"10\"><field name=\"button\">controller.B</field><field name=\"event\">ControllerButtonEvent.Pressed</field><statement name=\"HANDLER\"><block type=\"hudChangeScoreBy\"><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">-20</field></shadow></value><next><block type=\"variables_change\"><field name=\"VAR\" id=\"I?4@gJV,8)yi2RplwDBf\">power</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value><next><block type=\"game_show_long_text\"><field name=\"layout\">DialogLayout.Top</field><value name=\"str\"><shadow type=\"text\"><field name=\"TEXT\">You bought one extra click!</field></shadow></value></block></next></block></next></block></statement></block><block type=\"gamecountdownevent\" x=\"290\" y=\"270\"><statement name=\"HANDLER\"><block type=\"gameOver\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><field name=\"effect\">effects.confetti</field><value name=\"win\"><shadow type=\"toggleWinLose\"><field name=\"win\">true</field></shadow></value></block></statement></block><block type=\"keyonevent\" x=\"30\" y=\"410\"><field name=\"button\">controller.A</field><field name=\"event\">ControllerButtonEvent.Pressed</field><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\" id=\"OhzSzwl78,9[a~*FxDB+\">mySprite</field><value name=\"VALUE\"><shadow xmlns=\"http://www.w3.org/1999/xhtml\" type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"spritescreate\"><value name=\"img\"><shadow type=\"screen_image_picker\"><field name=\"img\">img`\n.........bbbbb................\n........bb111bb...............\n.......b1111111b..............\n......bb1111111bb....bbb......\n...bbbbd11111111bbbbbb1bb.....\n..bb111dd111111111111111b.....\n.bb111111111111111111111b.....\n.b1111111111111111d11111bb....\nbb111111111111111d1111111bb...\nb111111111111111d111111111bb..\nbb111111111111111d111111111bb.\n.bbb11ddd111111111d11111111bb.\n...bbbbbd1111111111bbb11bbbb..\n.......bb11111111bbb.bbbb.....\n........bbb11111bb............\n..........bbbbbbb.............\n`</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=\"startEffectOnSprite\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><field name=\"effect\">effects.spray</field><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"OhzSzwl78,9[a~*FxDB+\">mySprite</field></block></value><next><block type=\"hudChangeScoreBy\"><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow><block type=\"variables_get\"><field name=\"VAR\" id=\"I?4@gJV,8)yi2RplwDBf\">power</field></block></value></block></next></block></next></block></statement></block></xml>",
|
|
250
|
+
"main.ts": "controller.B.onEvent(ControllerButtonEvent.Pressed, function () {\n info.changeScoreBy(-20)\n power2 += 1\n game.showLongText(\"You bought one extra click!\", DialogLayout.Top)\n})\ncontroller.A.onEvent(ControllerButtonEvent.Pressed, function () {\n mySprite = sprites.create(img`\n .........bbbbb................\n ........bb111bb...............\n .......b1111111b..............\n ......bb1111111bb....bbb......\n ...bbbbd11111111bbbbbb1bb.....\n ..bb111dd111111111111111b.....\n .bb111111111111111111111b.....\n .b1111111111111111d11111bb....\n bb111111111111111d1111111bb...\n b111111111111111d111111111bb..\n bb111111111111111d111111111bb.\n .bbb11ddd111111111d11111111bb.\n ...bbbbbd1111111111bbb11bbbb..\n .......bb11111111bbb.bbbb.....\n ........bbb11111bb............\n ..........bbbbbbb.............\n `, SpriteKind.Player)\n mySprite.startEffect(effects.spray)\n info.changeScoreBy(power2)\n})\ninfo.onCountdownEnd(function () {\n game.over(true, effects.confetti)\n})\nlet mySprite: Sprite = null\nlet power2 = 0\nscene.setBackgroundColor(11)\npower2 = 1\ninfo.startCountdown(10)\ngame.splash(\"Press (A) to earn clicks!\")\n",
|
|
251
|
+
"pxt.json": "{\n \"name\": \"clicker-withTimer\",\n \"description\": \"\",\n \"dependencies\": {\n \"device\": \"*\"\n },\n \"files\": [\n \"main.blocks\",\n \"main.ts\",\n \"README.md\",\n \"tilemap.g.jres\",\n \"tilemap.g.ts\",\n \"images.g.jres\",\n \"images.g.ts\"\n ],\n \"targetVersions\": {\n \"branch\": \"v1.2.16\",\n \"tag\": \"v1.2.16\",\n \"commits\": \"https://github.com/microsoft/pxt-arcade/commits/971a86b03314f200ceb1a951ad277d1d6b8c1e23\",\n \"target\": \"1.2.16\",\n \"pxt\": \"6.2.30\"\n },\n \"preferredEditor\": \"blocksprj\"\n}\n",
|
|
252
|
+
"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}",
|
|
253
|
+
"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"
|
|
254
|
+
}
|
|
255
|
+
```
|
|
@@ -17,8 +17,9 @@ Let's prep the stage by adding a background.
|
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
- :tree: Open the ``||scene:Scene||`` category and drag
|
|
21
|
-
``||scene: set background image to [ ]||``
|
|
20
|
+
- :tree: Open the ``||scene:Scene||`` category and drag
|
|
21
|
+
``||scene: set background image to [ ]||``
|
|
22
|
+
into the ``||loops:on start||``
|
|
22
23
|
container that's already in the workspace.
|
|
23
24
|
|
|
24
25
|
- :mouse pointer: When you're done, click **Next** to see the next step.
|
|
@@ -37,7 +38,8 @@ scene.setBackgroundImage(img`
|
|
|
37
38
|
|
|
38
39
|
## {Step 3}
|
|
39
40
|
|
|
40
|
-
**Choose your background
|
|
41
|
+
**Choose your background!**
|
|
42
|
+
🖼 🖼 🖼
|
|
41
43
|
|
|
42
44
|
---
|
|
43
45
|
|
|
@@ -128,7 +130,8 @@ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
|
128
130
|
|
|
129
131
|
## {Step 6}
|
|
130
132
|
|
|
131
|
-
|
|
133
|
+
**Test your game on the game screen**
|
|
134
|
+
🎮 🎮 🎮
|
|
132
135
|
|
|
133
136
|
Do you see your score go up each time you press the **Ⓐ** button?
|
|
134
137
|
|