CSY1018-assignment-2/scripts/launch.js

50 lines
1.3 KiB
JavaScript
Raw Normal View History

2022-04-28 15:49:09 +00:00
/*Add events to webpage*/
var intervals = []
2022-04-28 15:49:09 +00:00
2022-04-28 19:22:43 +00:00
function showDisplay(mode) {
for (let element of document.body.getElementsByTagName("*")) {
element.style.display = mode;
}
}
2022-04-29 09:56:51 +00:00
/*Registers interval functions and trigger functions*/
2022-04-28 19:22:43 +00:00
function load() {
2022-04-28 16:58:53 +00:00
document.addEventListener("keydown", getKey)
2022-04-28 15:49:09 +00:00
document.addEventListener("keyup", stop)
intervals.push(setInterval(move, 10));
2022-04-28 15:49:09 +00:00
document.getElementById("start").addEventListener("click", startGame)
2022-04-28 19:22:43 +00:00
showDisplay("none");
document.getElementById("start").style.display = "block";
2022-04-28 15:49:09 +00:00
}
2022-04-29 09:56:51 +00:00
/*Starts game functionality*/
2022-04-28 15:49:09 +00:00
function startGame() {
2022-04-28 19:22:43 +00:00
showDisplay("block");
document.getElementById("start").style.display = "none";
2022-04-28 19:56:09 +00:00
document.getElementsByClassName("weapon")[0].style.display = "none";
intervals.push(setInterval(spawnEnemy, 2500));
intervals.push(setInterval(checkExplosion, 10));
}
function endGame() {
for (let item of intervals) {
clearInterval(item);
}
for (let item of document.getElementsByClassName("bomb")) {
item.remove();
}
for (let item of document.getElementsByClassName("explosions")) {
item.remove();
}
for (let alien of aliens) {
clearInterval(alien[1]);
alien[0].remove();
}
2022-04-28 15:49:09 +00:00
}
2022-04-29 09:56:51 +00:00
2022-04-28 19:22:43 +00:00
document.addEventListener("DOMContentLoaded", load);