Atölye › Hafıza Kartları › 17/25. adım
İkinci kart açılınca karar zamanı:
matched (eşleşti) olur ve açık kalır.Beklemek bir zamanlayıcının işi: setTimeout(fonksiyon, 800) verdiğin fonksiyonu 800 milisaniye (0,8 saniye)
sonra bir kez çalıştırır. Bu arada sayfa donmaz; her şey çalışmaya devam eder. Mutfakta zamanlayıcı kurup başka işe
dönmek gibi.
```js
if (opened.length < 2) return
const [a, b] = opened
if (a.symbol === b.symbol) {
a.matched = true
b.matched = true
opened = []
} else {
// Give the player time to see the second card before hiding both again.
setTimeout(() => {
a.faceUp = false
b.faceUp = false
opened = []
}, 800)
}
}
```if (opened.length < 2) return → tek kart açıksa burada dur; ikinci kartı bekle.const [a, b] = opened → listenin ilk iki elemanına a ve b adını verir.if (a.symbol === b.symbol) { → meyveler aynı mı?a.matched = true, b.matched = true → ikisi de eşleşti; açık kalırlar.opened = [] → yeni tur için liste boşalır.} else { → aynı değilse:setTimeout(() => { ... }, 800) → içteki fonksiyonu 800 ms sonra çalıştır: iki kartı kapat (faceUp = false)
ve listeyi boşalt.opened hâlâ iki kart tutar; önceki adımın kuralı sayesinde üçüncü kart açılmaz. Zaten var olan
bilgi, yeni bir değişken eklemeden soruyu cevaplar.flip içinde opened.push(card) satırının altına yeni satırları yaz; fonksiyonun son } işareti en altta kalsın.Beceriler: Oyun durumları, Oyun döngüsü
← Aynı anda iki kart Hamleleri say →