Jokdeniz
Decapat
- Katılım
- 10 Temmuz 2023
- Mesajlar
- 69
Daha fazla
- Cinsiyet
- Erkek
Kod:
var levelCounter = 1;
var gameArray = [];
var gamerArray = [];
document.querySelector(".start").addEventListener("click", function () {
generateGame();
});
function generateGame() {
document.querySelector("#level-title").innerHTML = "Level " + levelCounter;
var randomNumber = Math.floor(Math.random() * 4) + 1;
// Add a new step in the game array.
gameArray.push(randomNumber);
switch (randomNumber) {
case 1:
var sound1 = new Audio("sounds/green.mp3");
sound1.play();
document.querySelector(".green").classList.add("pressed");
setTimeout(function () {
document.querySelector(".green").classList.remove("pressed");
}, 200);
break;
case 2:
var sound2 = new Audio("sounds/red.mp3");
sound2.play();
document.querySelector(".red").classList.add("pressed");
setTimeout(function () {
document.querySelector(".red").classList.remove("pressed");
}, 200);
break;
case 3:
var sound3 = new Audio("sounds/yellow.mp3");
sound3.play();
document.querySelector(".yellow").classList.add("pressed");
setTimeout(function () {
document.querySelector(".yellow").classList.remove("pressed");
}, 200);
break;
case 4:
var sound4 = new Audio("sounds/blue.mp3");
sound4.play();
document.querySelector(".blue").classList.add("pressed");
setTimeout(function () {
document.querySelector(".blue").classList.remove("pressed");
}, 200);
break;
default:
break;
}
levelCounter++;
console.log("game array : " + gameArray);
gamerFunction();
}
function gamerFunction() {
var counter = 0;
var buttons = document.querySelectorAll(".btn");
// Önceki tıklama olay dinleyicilerini kaldırın
buttons.forEach(function (button) {
button.removeEventListener("click", handleClick);
});
// Yeni tıklama olay dinleyicilerini ekleyin
buttons.forEach(function (button) {
button.addEventListener("click", handleClick);
});
function handleClick() {
var colorName = this.id;
switch (colorName) {
case "green":
counter++;
greenFunc(counter);
break;
case "red":
counter++;
redFunc(counter);
break;
case "yellow":
counter++;
yellowFunc(counter);
break;
case "blue":
counter++;
blueFunc(counter);
break;
default:
break;
}
}
}
function checkArrays(counter) {
if (gamerArray[counter] !== gameArray[counter]) {
document.querySelector("body").style.backgroundColor = "red";
setTimeout(function () {
document.querySelector("body").style.backgroundColor = "#011F3F";
}, 200);
document.querySelector("#level-title").innerHTML =
"Game Over, Press Any Key to Restart";
console.log("Gamer Array: " + gamerArray);
return;
} else {
if (counter === levelCounter - 1) {
setTimeout(levelLauncher, 1000);
}
return;
}
}
function levelLauncher() {
console.log("Level " + (levelCounter - 1));
gamerArray.splice(0, gamerArray.length);
console.log("Gamer Array before level UP : " + gamerArray);
generateGame();
}
function greenFunc(counter) {
gamerArray.push(1);
console.log("green ");
var soundGamer1 = new Audio("sounds/green.mp3");
soundGamer1.play();
document.querySelector(".green").classList.add("pressedGamer");
setTimeout(function () {
document.querySelector(".green").classList.remove("pressedGamer");
}, 200);
checkArrays(counter);
}
function redFunc(counter) {
gamerArray.push(2);
console.log("red");
var soundGamer2 = new Audio("sounds/red.mp3");
soundGamer2.play();
document.querySelector(".red").classList.add("pressedGamer");
setTimeout(function () {
document.querySelector(".red").classList.remove("pressedGamer");
}, 200);
checkArrays(counter);
}
function yellowFunc(counter) {
gamerArray.push(3);
console.log("yellow");
var soundGamer3 = new Audio("sounds/yellow.mp3");
soundGamer3.play();
document.querySelector(".yellow").classList.add("pressedGamer");
setTimeout(function () {
document.querySelector(".yellow").classList.remove("pressedGamer");
}, 200);
checkArrays(counter);
}
function blueFunc(counter) {
gamerArray.push(4);
console.log("blue");
var soundGamer4 = new Audio("sounds/blue.mp3");
soundGamer4.play();
document.querySelector(".blue").classList.add("pressedGamer");
setTimeout(function () {
document.querySelector(".blue").classList.remove("pressedGamer");
}, 200);
checkArrays(counter);
}
Son düzenleyen: Moderatör: