Mam taki kod js. Muszę z
const prepareIconList
pobrać dane, aby w poziomie easy po kliknięciu w button rysowało mi 8 kafli i można było grać i później to samo tylko w poziome hard, ale już 16 kafli.
let matchedCards = [],
currentOpenedCards = [],
moves = 0,
rateHTML = "",
rateStep = 6,
firstClick = true,
hours, minutes, seconds,
totalTime = 0,
incrementer;
const prepareIconList = ["fas fa-volume-down", "fas fa-volume-down", "fas fa-bicycle", "fas fa-bicycle", "far fa-calendar-check", "far fa-calendar-check", "fas fa-wifi", "fas fa-wifi", "fas fa-camera", "fas fa-camera", "fas fa-laptop", "fas fa-laptop", "fas fa-mobile-alt", "fas fa-mobile-alt", "fab fa-android", "fab fa-android"],
cardsList = document.querySelector(".cards"),
cards = cardsList.children,
movesContainer = document.querySelector(".moves"),
modal = document.querySelector(".modal"),
repeatBtn = document.querySelector(".features .play-again");
repeatBtnFromModal = document.querySelector(".modal .play-again"),
rateContainer = document.querySelector("#total_rate"),
exactMoves = prepareIconList.length / 2,
maxStars = exactMoves + rateStep,
minStars = exactMoves + ( 2 * rateStep),
stars = document.querySelectorAll(".star"),
secondsContainer = document.querySelector("#seconds"),
minutesContainer = document.querySelector("#minutes"),
hoursContainer = document.querySelector("#hours");
/* Shuffle */
function shuffle(array) {
let counter = array.length;
while (counter > 0) {
let index = Math.floor(Math.random() * counter);
counter--;
let temp = array[counter];
array[counter] = array[index];
array[index] = temp;
}
return array;
}
/* Initialize Game */
function init() {
const icons = shuffle(prepareIconList);
const cardsFragment = document.createDocumentFragment();
for (let i = 0; i < icons.length; i++) {
const card = document.createElement("li");
card.innerHTML = "<i class='" + icons[i] + "'></i>";
cardsFragment.appendChild(card);
}
cardsList.appendChild(cardsFragment);
}
/* Start Game */
function start() {
init()
cardClick();
}
/* Click */
function cardClick() {
for (let i = 0; i < cards.length; i++) {
// Add a click event to each card
cards[i].addEventListener("click", function () {
const currentCard = this;
const previousCard = currentOpenedCards[0];
if(firstClick) {
startTimer();
firstClick = false;
}
if (currentOpenedCards.length === 1) {
currentCard.className = "show disabled animated flipInY";
currentOpenedCards.push(currentCard);
isMatched(currentCard, previousCard);
currentOpenedCards = [];
addMove();
rating();
} else {
currentCard.className = "show disabled animated flipInY";
currentOpenedCards.push(currentCard);
}
});
}
}