-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.ts
95 lines (91 loc) · 3.8 KB
/
main.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
// Shoot Enemies with Projectiles
controller.player1.onButtonEvent(ControllerButton.A, ControllerButtonEvent.Pressed, function on_player1_button_a_pressed() {
blast = sprites.createProjectileFromSprite(img`
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . 2 2 4 5 . . . . . .
. . . . . . 2 2 4 5 . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
`, spaceship, 50, 0)
})
// Destroy Rock when Blasted
sprites.onOverlap(SpriteKind.Projectile, SpriteKind.Enemy, function on_on_overlap(sprite: Sprite, otherSprite: Sprite) {
sprite.destroy()
otherSprite.destroy(effects.fire, 100)
info.changeScoreBy(1)
if (info.score() % 10 == 0) {
if (info.life() < 5) {
info.changeLifeBy(1)
}
}
})
// Lose Life when Hit
sprites.onOverlap(SpriteKind.Player, SpriteKind.Enemy, function on_on_overlap2(sprite: Sprite, otherSprite: Sprite) {
otherSprite.destroy()
info.changeLifeBy(-1)
})
let rock : Sprite = null
let blast : Sprite = null
let spaceship : Sprite = null
// Setup the Game
info.setScore(0)
info.setLife(3)
// Setup the Player
spaceship = sprites.create(img`
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 2 2 . . . . . . . . . . . .
. . 2 2 2 2 . . . . . . . . . .
. . 2 2 2 2 2 . . . . . . . . .
. . 4 4 4 4 4 2 . . . . . . . .
. . 4 4 4 4 4 2 2 2 . . . . . .
. . 4 4 4 4 4 2 2 2 2 . . . . .
. . 4 4 4 4 4 2 2 2 . . . . . .
. . 4 4 4 4 4 2 . . . . . . . .
. . 2 2 2 2 2 . . . . . . . . .
. . 2 2 2 2 . . . . . . . . . .
. . 2 2 . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
`, 0)
spaceship.setPosition(10, scene.screenHeight() / 2)
spaceship.setFlag(SpriteFlag.StayInScreen, true)
spaceship.setKind(SpriteKind.Player)
// Configure Player Controls
controller.moveSprite(spaceship, 200, 200)
// Generate Enemies
game.onUpdateInterval(750, function on_update_interval() {
rock = sprites.create(img`
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . 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 c b . . . .
. . . c c c c c . . c c . . . .
. . . . . c b b c c b c . . . .
. . . . . c . c b c c . . . . .
. . . . . c c . c c c . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
`, 0)
rock.setPosition(scene.screenWidth(), randint(0, scene.screenHeight()))
rock.setVelocity(-50, 0)
rock.setKind(SpriteKind.Enemy)
})