Gamer array ikinci levelden sonra birden fazla değer alıyor

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:

Technopat Haberler

Yeni konular

Geri
Yukarı