forked from LaunchCodeEducation/DOM-and-Events-Studio
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscripts.js
More file actions
115 lines (107 loc) · 4.62 KB
/
scripts.js
File metadata and controls
115 lines (107 loc) · 4.62 KB
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
// Write your JavaScript code here.
// Remember to pay attention to page loading!
// 23.8.2.1
window.addEventListener("load", function() {
// put DOM code here to ensure elements have been loaded
console.log('window loaded');
const buttonTakeOff = document.getElementById("takeoff");
const buttonLanding = document.getElementById("landing");
const flightStatus = document.getElementById("flightStatus");
const rocket = document.getElementById("rocket");
const shuttleBackground = document.getElementById("shuttleBackground");
const paragraphShuttleHeight = document.getElementById("spaceShuttleHeight");
const buttonMissionAbort = document.getElementById("missionAbort");
const buttonLeft = document.getElementById("left");
const buttonRight = document.getElementById("right");
const buttonUp = document.getElementById("up");
const buttonDown = document.getElementById("down");
//
// Assumes Landing is at the bottom\center of shuttleBackground (0, 250); Maximum height is 0 and minimum is 250.
// No limit on horizontal moves (left and right). Display warning if vertical limit exceeded.
// Uses transform.translate property to position rocket
//
let rocketHeight = 0;
let rocketLaunched = false;
let rocketXStart = 0;
let rocketYStart = 250;
let rocketXCurrent = rocketXStart;
let rocketYCurrent = rocketYStart;
//
// 23.8.2.2
buttonTakeOff.addEventListener("click", event => {
let confirmTakeOff = window.confirm("Confirm that the shuttle is ready for takeoff.");
if (confirmTakeOff === true) {
rocketYCurrent = rocketYCurrent - 10;
rocketHeight += 10000;
flightStatus.innerHTML = "Shuttle in flight."
shuttleBackground.style.backgroundColor = "blue";
paragraphShuttleHeight.innerHTML = `${rocketHeight}`;
rocket.style.transform = `translate(${rocketXCurrent}px, ${rocketYCurrent}px)`;
rocketLaunched = true;
}
});
// 23.8.2.3
buttonLanding.addEventListener("click", event => {
let confirmLanding = window.alert("The shuttle is landing. Landing gear engaged.");
flightStatus.innerHTML = "The shuttle has landed.";
paragraphShuttleHeight.innerHTML = `0`;
shuttleBackground.style.backgroundColor = "green";
rocketXCurrent = rocketXStart;
rocketYCurrent = rocketYStart;
rocket.style.transform = `translate(${rocketXCurrent}px, ${rocketYCurrent}px)`;
rocketLaunched = false;
});
// 23.8.2.4
buttonMissionAbort.addEventListener("click", event => {
let confirmAbort = window.confirm("Confirm that you want to abort the mission.");
if (confirmAbort === true) {
rocketHeight = 0;
flightStatus.innerHTML = "Mission aborted."
shuttleBackground.style.backgroundColor = "green";
paragraphShuttleHeight.innerHTML = `${rocketHeight}`;
rocketXCurrent = rocketXStart;
rocketYCurrent = rocketYStart;
rocket.style.transform = `translate(${rocketXCurrent}px, ${rocketYCurrent}px)`;
}
});
// 23.8.2.5 - Left
buttonLeft.addEventListener("click", event => {
if (rocketLaunched === true) {
rocketXCurrent = rocketXCurrent - 10;
rocket.style.transform = `translate(${rocketXCurrent}px, ${rocketYCurrent}px)`;
}
});
// 23.8.2.5 - Right
buttonRight.addEventListener("click", event => {
if (rocketLaunched === true) {
rocketXCurrent = rocketXCurrent + 10;
rocket.style.transform = `translate(${rocketXCurrent}px, ${rocketYCurrent}px)`;
}
});
// 23.8.2.5 - Up
buttonUp.addEventListener("click", event => {
if (rocketLaunched === true) {
if (rocketYCurrent < 0) {
window.alert("Maximum altitude reached.");
} else {
rocketYCurrent = rocketYCurrent - 10;
rocket.style.transform = `translate(${rocketXCurrent}px, ${rocketYCurrent}px)`;
rocketHeight += 10000;
paragraphShuttleHeight.innerHTML = `${rocketHeight}`;
}
}
});
// 23.8.2.5 - Down
buttonDown.addEventListener("click", event => {
if (rocketLaunched === true) {
if (rocketYCurrent >= rocketYStart) {
window.alert("Engage landing.");
} else {
rocketYCurrent = rocketYCurrent + 10;
rocket.style.transform = `translate(${rocketXCurrent}px, ${rocketYCurrent}px)`;
rocketHeight -= 10000;
paragraphShuttleHeight.innerHTML = `${rocketHeight}`;
}
}
});
});