-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgame.js
More file actions
59 lines (44 loc) · 960 Bytes
/
game.js
File metadata and controls
59 lines (44 loc) · 960 Bytes
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
var lander;
var canvas;
var state;
var shipPosition;
var shipSpeed;
var gravity = .00001;
var thrustPower = .00002;
var thrust = false;
function initGame() {
lander = new Lander('ship');
lander.scaleTo(.5);
canvas = document.getElementById('canvas');
window.setInterval(loop, 10);
reset();
}
function loop() {
if (thrust) {
shipSpeed -= thrustPower;
}
if (shipPosition > 0 || thrust) {
shipSpeed += gravity;
shipPosition -= shipSpeed;
} else {
shipSpeed = 0;
shipPosition = 0;
}
layout();
}
function reset() {
shipPosition = 1;
shipSpeed = 0;
layout();
}
function startThrust() {
thrust = true;
}
function stopThrust() {
thrust = false;
}
function layout() {
var height = canvas.clientHeight - lander.height();
var distance = height - (height * shipPosition);
lander.moveTo(canvas.clientWidth/2, lander.height()/2 + distance);
}