💻
Krok 1: Dane kart i tasowanie
Stwórz tablicę kart i algorytm tasowania
Struktura danych
Każda karta to obiekt z kilkoma właściwościami:
js
{
id: 0, // unikalny numer
emoji: '🐶', // co jest pokazane
isFlipped: false, // odkryta czy nie
isMatched: false // znaleziono parę czy nie
}Dla gry 4×4 potrzebujemy 16 kart = 8 par (każde emoji dwa razy).
javascript
💬
Spread [...EMOJIS, ...EMOJIS] łączy tablicę z samą sobą — 8 → 16 elementów. Następnie .map() zamienia każde emoji w obiekt karty.
Algorytm tasowania Fisher-Yates
Najlepszy sposób na równomierne tasowanie tablicy:
js
function shuffleArray(array) {
const arr = [...array]; // kopia (nie mutuj oryginału)
for (let i = arr.length - 1; i > 0; i--) {
// Losowy indeks od 0 do i włącznie
const j = Math.floor(Math.random() * (i + 1));
// Zamiana
[arr[i], arr[j]] = [arr[j], arr[i]];
}
return arr;
}[arr[i], arr[j]] = [arr[j], arr[i]] — zamiana przez destrukturyzację. Sposób JavaScript na zamianę dwóch wartości bez zmiennej tymczasowej.
Komentarze
Zaloguj się lub Zacznij aby zostawić komentarz.