Середній
+80 XP

👋 Починай вчитися JavaScript прямо зараз — безкоштовно!

💻

Крок 1: Дані карток і перемішування

Створи масив карток і алгоритм їх перемішування

Структура даних

Кожна картка — об'єкт з кількома властивостями:

js
{
  id: 0,           // унікальний номер
  emoji: '🐶',    // що зображено
  isFlipped: false, // перевернута чи ні
  isMatched: false  // знайдено пару чи ні
}

Для гри 4×4 нам потрібно 16 карток = 8 пар (кожне emoji двічі).

javascript
💬

Spread [...EMOJIS, ...EMOJIS] з'єднує масив з самим собою — 8 → 16 елементів. Потім .map() перетворює кожен emoji в об'єкт картки.

Алгоритм перемішування Fisher-Yates

Найкращий спосіб рівномірно перемішати масив:

js
function shuffleArray(array) {
  const arr = [...array]; // копія (не мутуємо оригінал)
  for (let i = arr.length - 1; i > 0; i--) {
    // Випадковий індекс від 0 до i включно
    const j = Math.floor(Math.random() * (i + 1));
    // Обмін місцями
    [arr[i], arr[j]] = [arr[j], arr[i]];
  }
  return arr;
}

[arr[i], arr[j]] = [arr[j], arr[i]] — деструктуруючий обмін. Це JS-спосіб поміняти два значення без temp змінної.

Коментарі

Увійти або Почати щоб залишити коментар.