-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtest.ts
491 lines (471 loc) · 35.4 KB
/
test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
/**
* Enumerations
*/
// Standard palette
enum Color {
Transparent, // 0
White, // 1 = RGB(255, 255, 255)
Red, // 2 = RGB(255, 33, 33)
Pink, // 3 = RGB(255, 147, 196)
Orange, // 4 = RGB(255, 129, 53)
Yellow, // 5 = RGB(255, 246, 9)
Aqua, // 6 = RGB(36, 156, 163)
BrightGreen, // 7 = RGB(120, 220, 82)
Blue, // 8 = RGB(0, 63, 173)
LightBlue, // 9 = RGB(135, 242, 255)
Purple, // 10 = RGB(142, 46, 196)
RoseBouquet, // 11 = RGB(164, 131, 159)
Wine, // 12 = RGB(92, 64, 108)
Bone, // 13 = RGB(229, 205, 196)
Brown, // 14 = RGB(145, 70, 61)
Black // 15 = RGB(0, 0, 0)
} // enum Color
/**
* Global constants
*/
const FIRST_OPTION_SCREEN: number = 5
/**
* Global variables
*/
let splashes: RotatingScreens[] = []
let currSplash: number = -1
let newSplash: SplashScreens = null
/**
* Main (a.k.a. game.onStart())
*/
// Template splash screen
splashes.push(new SplashScreens(
['My Game', 'in JavaScript'], Color.Yellow,
[['My Game is', '(C) 20XX'], ['Programmed in', 'MakeCode Arcade'], ['by', 'Me']], Color.Brown,
[['Left/Right = Action', 'Up = Action', 'Down = Action', 'A = Action', 'B = Action']], Color.LightBlue)
)
// Asteroids splash screen with wandering asteroids
newSplash = new SplashScreens(
['Asteroids'], Color.Yellow,
[['Asteroids is', '(C) 1979 Atari Inc.'], ['Programmed in', 'MakeCode Arcade'], ['by', 'Alex K.']], Color.Brown,
[['Left/Right = Rotate', 'Up = Thursters', 'A = Shoot', 'B = Hyperspace']], Color.LightBlue
)
newSplash.movingSpriteOptions.mode = SpriteMode.RandomWillUpdate
newSplash.movingSpriteOptions.speed = 10
newSplash.addMovingSprite(
img`
. . . b b b b b b b b b b b b b b b b b b b b b b . . . . . . .
. . . . b . . . . . . . . . . . . . . . . . . . . b . . . . . .
. . . . . b . . . . . . . . . . . . . . . . . . . . b . . . . .
. . . . . . b . . . . . . . . . . . . . . . . . . . . b . . . .
. . . . . . . b . . . . . . . . . . . . . . . . . . . . b . . .
. . . b . . . . b . . . . . . . . . . . . . . . . . . . . b . .
. . . b b b . . . b . . . . . . . . . . . . . . . . . . . . b .
. . . b . . b b . . b . . . . . . . . . . . . . . . . . . . . b
. . b . . . . . b b . . . . . . . . . . . . . . . . . . . . . b
. . b . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
. . b . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
. b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
. b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
. b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
. b b . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
. . . b b . . . . . . . . . . . . . . . . . . . . . . . . . . b
. . . . . b b . . . . . . . . . . . . . . . . . . . . . . . . b
. . . . . . . b b . . . . . . . . . . . . . . . . . . . . . . b
. . . . . . . . . b b . . . . . . . . . . . . . . . . . . . . b
. . . . . . . . . . . b b . . . . . . . . . . . . . . . . . . b
. . . . . . . . . . . . . b . . . . . . . . . . . . . . . . . b
. . . . . . . . . . b b b . . . . . . . . . . . . . . . . . . b
. . . . . . . b b b . . . . . . . . . . . . . . . . . . . . . b
. . . . b b b . . . . . . . . . . . . . . . . . . . . . . . . b
. b b b . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
. b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
. . b . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
. . . b . . . . . . . . . . . . . . . . . . . . . . . . . . b .
. . . . b . . . . . . . . . . . . . . . . . . . . . . . . b . .
. . . . . b b b b b b b b b b b b b b b b b b b b b b b b . . .
`
)
newSplash.addMovingSprite(
img`
. . . . . . . . b b b b b b b b b b b b b b b b b . . . . . . .
. . . . . . . . b . . . . . . . . . . . . . . . b . . . . . . .
. . . . . . . . b . . . . . . . . . . . . . . . b . . . . . . .
. . . . . . . . b . . . . . . . . . . . . . . . b . . . . . . .
. . . . . . . . b . . . . . . . . . . . . . . . b . . . . . . .
. . . . . . . . b . . . . . . . . . . . . . . . b . . . . . . .
. . . . . . . . b . . . . . . . . . . . . . . . b . . . . . . .
. . . . . . . . b . . . . . . . . . . . . . . . b . . . . . . .
b b b b b b b b b . . . . . . . . . . . . . . . b b b b b b b b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b b b b b b b b b . . . . . . . . . . . . . . . b b b b b b b b
. . . . . . . . b . . . . . . . . . . . . . . . b . . . . . . .
. . . . . . . . b . . . . . . . . . . . . . . . b . . . . . . .
. . . . . . . . b . . . . . . . . . . . . . . . b . . . . . . .
. . . . . . . . b . . . . . . . . . . . . . . . b . . . . . . .
. . . . . . . . b . . . . . . . . . . . . . . . b . . . . . . .
. . . . . . . . b . . . . . . . . . . . . . . . b . . . . . . .
. . . . . . . . b b b b b b b b b b b b b b b b b . . . . . . .
`
)
newSplash.addMovingSprite(
img`
. . . . . . . . . . . . b b b b b b b b . . . . . . . . . . . .
. . . . . . . . . . . b . . . . . . . b . . . . . . . . . . . .
. . . . . . . . . . b . . . . . . . b . . . . . . . . . . . . .
. . . . . . . . . b . . . . . . . . b . . . . . . . . . . . . .
. . . . . . . . b . . . . . . . . . b . . . . . . . . . . . . .
. . . . . . . b . . . . . . . . . b . . . . . . . . . . . . . .
. . . . . . b . . . . . . . . . . b . . . . . . . . . . . . . .
. . . . . b . . . . . . . . . . . b . . . . . . . . . . . . . .
. . . . b . . . . . . . . . . . b . . . . . . . . . . . . . . .
. . . b . . . . . . . . . . . . b . . . . . . . . . . . . . . .
. . b . . . . . . . . . . . . . b . . . . . . . . . . . . . . .
. b . . . . . . . . . . . . . . b b b b b b b b b b b b b b b b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b
b . . . . . . . . . . . . . . . . . . . . . . . . . . . . b b b
b . . . . . . . . . . . . . . . . . . . . . . . . . b b b . . .
b . . . . . . . . . . . . . . . . . . . . . . b b b . . . . . .
b . . . . . . . . . . . . . . . . . . . . b b . . . . . . . . .
. b . . . . . . . . . . . . . . . . . . . b . . . . . . . . . .
. . b . . . . . . . . . . . . . . . . . . b . . . . . . . . . .
. . . b . . . . . . . . . . . . . . . . . b . . . . . . . . . .
. . . . b . . . . . . . . . . . . . . . . . b . . . . . . . . .
. . . . . b . . . . . . . . . . . . . . . . b . . . . . . . . .
. . . . . . b . . . . . . . . . . . . . . . b . . . . . . . . .
. . . . . . . b . . . . . . . . . . . . . . . b . . . . . . . .
. . . . . . . . b b b b b b b b b b b b b b b b . . . . . . . .
`
)
splashes.push(newSplash)
// Salvo splash screen with scrolling ships
newSplash = new SplashScreens(
['Salvo!'], Color.Yellow,
[['(C) 2019', 'Robo Technical Group LLC'], ['Programmed in', 'MakeCode Arcade'], ['by', 'Alex K.']], Color.Brown,
[['Multiplayer Version', 'Up to four', 'human or computer', 'players']], Color.LightBlue
)
newSplash.movingSpriteOptions.mode = SpriteMode.BlankSpace
newSplash.movingSpriteOptions.speed = 10
newSplash.movingSpriteOptions.dir = SpriteDirection.PointsLeft
newSplash.addMovingSprite(
img`
. . . . . . . . . . . . . . . . 1 1 1 1 1 . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . .
. . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 . . . . . . . .
. . . . . . . . . . . . . . 1 . . . . . . . . 1 . . . . . . . .
. . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .
. . . . . . . . . . . 1 . . . . . . . . . . . . . 1 . . . . . .
. . . . . . . . . . . 1 . . . . . . . . . . . . . 1 . . . . . .
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
. 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
. . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
. . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
. . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 1
. . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . 1
. . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . 1
. . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
`
)
newSplash.addMovingSprite(
img`
. . . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .
. . . . . . . . . 1 1 . . . . . . 1 . . . . . . . . . . . . . .
. . . . . . . . . 1 . 1 1 1 1 1 1 1 1 . . . . . . . . . . . . .
. . . . . . . . . 1 . 1 . . . . . . 1 . . . . . . . . . . . . .
. . . . . . . . . 1 . 1 . . . . . . 1 . . . . . . . . . . . . .
1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . 1 1 1 1 1 1 1 1 1 . . . . .
1 . . . . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . . . 1 . . . .
. 1 . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 . . .
. 1 1 5 5 5 5 . . 5 5 5 5 . . 5 5 5 5 5 . . 5 5 5 5 5 . . 1 . .
. . 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 1 .
. . 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
. . 1 . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . 1
. . . 1 . 1 . . . . . . . . . . . . . . . . . . . . . . . . . 1
. . . . 1 . 1 . . . . . . . . . . . . . . . . . . . . . . . . 1
. . . . . 1 1 . . . . . . . . . . . . . . . . . . . . . . . . 1
. . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
`
)
splashes.push(newSplash)
// Spacewar! splash screen with static sprites
newSplash = new SplashScreens(
['Spacewar!'], Color.BrightGreen,
[['Spacewar! was', 'developed in 1962'], ['Programmed by', 'Steve Russell'], ['Collaborator', 'Martin Graetz'], ['Collaborator', 'Wayne Wiitanen'], ['Collaborator', 'Bob Saunders'], ['Collaborator', 'Steve Piner'], ['Programmed in ', 'MakeCode Arcade'], ['by', 'Alex K.']], Color.Brown,
[['Player 1', 'A/D', 'W', 'Q', 'E'],
['Action', 'Rotate', 'Thruster', 'Fire', 'Warp'],
['Player 2', 'J/L', 'I', 'U', 'O']
], Color.BrightGreen
)
newSplash.footer.color = Color.BrightGreen
newSplash.addStaticSprite({
img: img`
. . . . . . . 7 . . . . . . . .
. . . . . . . 7 . . . . . . . .
. . . . . . . 7 . . . . . . . .
. . . . . . . 7 . . . . . . . .
. . . . . . 7 . 7 . . . . . . .
. . . . . . 7 . 7 . . . . . . .
. . . . . . 7 . 7 . . . . . . .
. . . . . 7 . . . 7 . . . . . .
. . . . . 7 . . . 7 . . . . . .
. . . . . 7 . . . 7 . . . . . .
. . . . . 7 . . . 7 . . . . . .
. . . . 7 . 7 . 7 . 7 . . . . .
. . . 7 . 7 7 . 7 7 . 7 . . . .
. . . 7 . 7 7 . 7 7 . 7 . . . .
. . 7 . . . 7 . 7 . . . 7 . . .
. . 7 7 7 7 . 7 . 7 7 7 7 . . .
`,
x: 24,
y: 64
})
newSplash.addStaticSprite({
img: img`
. . . . . . . 7 . . . . . . . .
. . . . . . . 7 . . . . . . . .
. . . . . . 7 . 7 . . . . . . .
. . . . . . 7 . 7 . . . . . . .
. . . . . . 7 7 7 . . . . . . .
. . . . . . 7 . 7 . . . . . . .
. . . . . . 7 . 7 . . . . . . .
. . . . . . 7 7 7 . . . . . . .
. . . . . . 7 . 7 . . . . . . .
. . . . . . 7 . 7 . . . . . . .
. . . . . . 7 7 7 . . . . . . .
. . . . . 7 7 . 7 7 . . . . . .
. . . . 7 . 7 . 7 . 7 . . . . .
. . . . 7 . 7 7 7 . 7 . . . . .
. . . . 7 . 7 . 7 . 7 . . . . .
. . . . 7 7 7 7 7 7 7 . . . . .
`,
x: 128,
y: 64
})
splashes.push(newSplash)
// Splash screen with header image
// Uses part of the title image from Planet Putt Putt
newSplash = new SplashScreens(
[''], Color.Yellow,
[['My Game is', '(C) 20XX'], ['Programmed in', 'MakeCode Arcade'], ['by', 'Me']], Color.Brown,
[['Left/Right = Action', 'Up = Action', 'Down = Action', 'A = Action', 'B = Action']], Color.LightBlue)
let header: Image = img`
b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b a b b b b b b b b
b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b a a a b b b b b b b
b b b b d d d d d b b b b b b b b b b b b b b b b b b b b b b b b b d b b b b b b d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b a b b b b b b b b
b a b a d d 6 6 6 d d d d a b a b a b a b a b a b a b a b a b a b d d a b a b a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a b b b b b b b a b a b a b a b a b a b a b a b a b a b a b a b a b b
b a a a d d 6 6 6 6 6 6 6 d d d a a a a a a a a a a a a a a a a d 6 d a a a a a d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b b b a a a a a a a a a a a a a a a a a a a a a a a a a a a a b
b a a a d d 6 6 6 6 6 6 6 6 6 6 d d d a a a a a a a a a a a a a d 6 d a a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b
b a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 d d d d a a a a a a a a d 6 6 d a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b
b a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d d a a a a a d 6 6 6 d a a a d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b
b a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a d 6 6 6 6 d a a d d d d d d d d d d d d d d d d d 6 6 6 6 6 d d d d d d d 6 6 6 6 6 d d d d d d d d d d a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b
b a a a d d 6 6 6 6 6 d 6 6 6 6 6 6 6 6 6 6 6 6 d a a a d d 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b
b a a a d d 6 6 6 6 6 d d d 6 6 6 6 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b
b a a a d d 6 6 6 6 6 d a a d d d d 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d d d d a a a a a a a a a a a a a a a a a a a a a a a a a d a a a a a a d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d a b
b a a a d d 6 6 6 6 6 d a a a a a a d d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 d d d d a a a a a a a a a a a a a a a a a a a a d d a a a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a b
b a a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 6 6 d d d a a a a a a a a a a a a a a a a d 6 d a a a a a d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a b
b a a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 6 6 6 6 6 d d d a a a a a a a a a a a a a d 6 d a a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a b
b a a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 d d d d a a a a a a a a d 6 6 d a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a b
b a a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d d a a a a a d 6 6 6 d a a a d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a a b
b a a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a d 6 6 6 6 d a a d d d d d d d d d d d d d d d d d 6 6 6 6 6 d d d d d d d 6 6 6 6 6 d d d d d d d d d d a a a b a b
b a a a d d 6 6 6 6 6 d a a a d d d d d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 d 6 6 6 6 6 6 6 6 6 6 6 6 d a a a d d 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a b b b b
b a a a d d 6 6 6 6 6 d d d d 6 6 6 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 d d d 6 6 6 6 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a a b a b
b a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 d a a d d d d 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a a a a b
b a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 d a a a a a a d d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a a a a b
b a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a a a a b
b a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a b d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a a a a b
b a c a d d 6 6 6 6 6 6 6 6 6 6 6 6 d d d d d d d a c d d 6 6 6 6 6 d a c a c a c a d 6 6 6 6 6 d a c a d d 6 6 6 6 6 d c a c a d d 6 6 6 6 6 d c a c a c d d 6 6 6 6 6 d a d a c a c a d 6 6 6 6 d c a d d 6 6 6 6 6 d c a c a c a c d 6 6 6 6 6 d c a a d d 6 6 6 6 6 d a c a c d d 6 6 6 6 6 d a c a c a c a c a c a c a c b
b c c c d d 6 6 6 6 6 d d d d d d d d c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
b c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
b c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c d d 6 6 6 6 6 d c c c d d d d d 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
b c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c d d 6 6 6 6 6 d d d d 6 6 6 6 6 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c d 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c d 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c d 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 6 d c c c c c d 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 d d d d d 7 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 6 6 6 6 6 6 6 d d d d d d d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c a c c c c c c c c c c c c b
b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 d d d d d d d d c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d a a a c c c c c c c c c c c b
b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d b d a a c c c c c c c a c c b
b c c c d d 7 7 7 7 7 d c c c c c c a c c c c c c c c d d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d a a a c c c c c c c c c c c b
b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c a c c c c c c c c c c c c b
b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
b c c c d d d d d d d d c c c c c c c c c c c c c c c c c c d d d d d d d d d d d d d d d d c c c c c c d d d d d d d d c c c c d d d d d d d d c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c d 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c d 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 d c c c c c d 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 d d d d d 7 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d d d d d d d c c c c c c c c c c c c c c c c c a d d d d d d d d d d d d d d d d c c c c c c d d d d d d d d c c c c d d d d d d d d c c c c c c c c c c c c c c b
b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c b c c c c c c c c c c c c c c c c c c c c c d c c c c c c b
b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
`
newSplash.backImage = header
splashes.push(newSplash)
// Single option screen
let os: OptionScreen = new OptionScreen(
['Salvo!'], Color.Yellow,
[['Options', ''], ['Salvo! is (C) 2019', 'Robo Technical Group LLC'], ['Programmed in', 'MakeCode Arcade'], ['by', 'Alex K.']], Color.Brown,
[['Human', '0 players', '1 player', '2 players', '3 players', '4 players'], ['Computer', '0 players', '1 player', '2 players', '3 players', '4 players']], Color.LightBlue,
true
)
os.titles.fontSize = 8
os.headlines.fontSize = 5
os.footer.fontSize = 5
os.doneText = 'Start!'
os.setSelection(0, 2)
os.setSelection(1, 0)
splashes.push(os)
// Option screen collection
let osColl: OptionScreenCollection = new OptionScreenCollection(
['Salvo!'], Color.Yellow,
[['Options', ''], ['Salvo! is (C) 2019', 'Robo Technical Group LLC'], ['Programmed in', 'MakeCode Arcade'], ['by', 'Alex K.']], Color.Brown
)
osColl.titles.fontSize = 8
osColl.headlines.fontSize = 5
osColl.footer.fontSize = 5
osColl.doneText = 'Start!'
osColl.addScreen('Players',
[['Human', '0 players', '1 player', '2 players', '3 players', '4 players'],
['Computer', '0 players', '1 player', '2 players', '3 players', '4 players']],
true)
osColl.addScreen('Game Type',
[['Standard', 'Classic', 'Modern']], false)
osColl.setSelectionForScreen(0, 0, 2)
osColl.setSelectionForScreen(0, 1, 0)
osColl.setSelectionForScreen(1, 0, 0)
splashes.push(osColl)
nextSplash()
/**
* Game loops
*/
game.onUpdate(function () {
if (game.runtime() >= splashes[currSplash].nextTime) {
splashes[currSplash].rotate()
} // if (game.runtime() >= splashes[currSplash].nextTime)
switch (currSplash) {
case 1:
for (let sprite of sprites.allOfKind(SpriteKind.Moving)) {
let threshold: number = sprite.width / 2
if (sprite.x > scene.screenWidth() + threshold) {
sprite.x = 0 - threshold
}
if (sprite.x < 0 - threshold) {
sprite.x = scene.screenWidth() + threshold
}
if (sprite.y > scene.screenHeight() + threshold) {
sprite.y = 0 - threshold
}
if (sprite.y < 0 - threshold) {
sprite.y = scene.screenHeight() + threshold
}
} // for (sprite)
break
case 2:
if (sprites.allOfKind(SpriteKind.Moving).length === 0) {
splashes[currSplash].showScrollingSprite()
} // if (sprites.allOfKind(...))
break
} // switch (currSplash)
}) // game.onUpdate()
/**
* Controller event handlers
*/
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
if (currSplash < FIRST_OPTION_SCREEN) {
nextSplash()
} else {
let curr: OptionScreen = <OptionScreen>splashes[currSplash]
curr.select()
if (curr.done) {
let numPlayers: number
if (currSplash === FIRST_OPTION_SCREEN) {
numPlayers = os.getSelection(0) + os.getSelection(1)
} else {
numPlayers = osColl.getSelectionForScreen(0, 0) +
osColl.getSelectionForScreen(0, 1)
} // if (currSplash === FIRST_OPTION_SCREEN)
if (numPlayers < 2 || numPlayers > 4) {
if (numPlayers < 2) {
game.splash('Must have at least two players.')
} else {
game.splash('Cannot have more than four players.')
} // if (numPlayers < 2)
curr.done = false
} // if (numPlayers...)
} // if (curr.done)
if (curr.done) {
nextSplash()
} // if (curr.done)
} // if (currSplash < FIRST_OPTION_SCREEN)
}) // controller.A.onEvent()
controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
if (currSplash < FIRST_OPTION_SCREEN) {
nextSplash()
} // if (currSplash < FIRST_OPTION_SCREEN)
}) // controller.B.onEvent()
controller.down.onEvent(ControllerButtonEvent.Pressed, function () {
if (currSplash < FIRST_OPTION_SCREEN) {
nextSplash()
} else {
let curr: OptionScreen = <OptionScreen>splashes[currSplash]
curr.moveCursorDown()
} // if (currSplash < FIRST_OPTION_SCREEN)
}) // controller.down()
controller.left.onEvent(ControllerButtonEvent.Pressed, function () {
if (currSplash < FIRST_OPTION_SCREEN) {
nextSplash()
} else {
let curr: OptionScreen = <OptionScreen>splashes[currSplash]
curr.moveCursorLeft()
} // if (currSplash < FIRST_OPTION_SCREEN)
}) // controller.left()
controller.right.onEvent(ControllerButtonEvent.Pressed, function () {
if (currSplash < FIRST_OPTION_SCREEN) {
nextSplash()
} else {
let curr: OptionScreen = <OptionScreen>splashes[currSplash]
curr.moveCursorRight()
} // if (currSplash < FIRST_OPTION_SCREEN)
}) // controller.right()
controller.up.onEvent(ControllerButtonEvent.Pressed, function () {
if (currSplash < FIRST_OPTION_SCREEN) {
nextSplash()
} else {
let curr: OptionScreen = <OptionScreen>splashes[currSplash]
curr.moveCursorUp()
} // if (currSplash < FIRST_OPTION_SCREEN)
}) // controller.up()
/**
* Other functions
*/
function nextSplash(): void {
if (splashes && splashes[currSplash]) {
splashes[currSplash].release()
}
currSplash++
if (currSplash >= splashes.length) {
currSplash = 0
} // if (currSplash > splashes.length)
splashes[currSplash].build()
} // nextSplash()