Atölye › Hafıza Kartları › 13/25. adım

Bir noktada hangi kart var?

Ne yapıyoruz

Tıklayarak oynayacağız, ama önce şu soruyu cevaplamalıyız: bir noktanın altında hangi kart var? Kartların arasında boşluklar var; boşluğa tıklamak hiçbir şey yapmamalı.

Bu yüzden her karta tek tek sorarız: "bu nokta senin içinde mi?" Buna isabet testi (hit testing) denir; canvas'taki her tıklanabilir şey (düğmeler, menüler) böyle çalışır.

```js
function cardAt(x, y) {
  return cards.find((card) => {
    const left = cardX(card)
    const top = cardY(card)
    return x >= left && x < left + CARD && y >= top && y < top + CARD
  })
}
```

Ne işe yarıyor

Sıra sende

cardY fonksiyonunun altına bir boş satır bırak ve cardAt fonksiyonunu yaz. Çalıştır.

Beceriler: Diziler ve nesneler, Klavye ve fare girdisi

Tüm adımlar

  1. Canvas'ı ve kalemi al
  2. Masa
  3. Bir kart
  4. Bir sıra kart
  5. Dört sıra
  6. Her meyveden iki tane
  7. Kendini bilen kartlar
  8. Kartın köşesi
  9. Kartları listeden çiz
  10. Durmadan çiz
  11. Kartın ön yüzü
  12. Adil bir karıştırma
  13. Bir noktada hangi kart var?
  14. Tıkla, kartı çevir
  15. Kurallar için tek yer
  16. Aynı anda iki kart
  17. Eş mi değil mi
  18. Hamleleri say
  19. Hamleleri ve eşleri göster
  20. Bütün eşler bulundu
  21. Tekrar oyna
  22. Peşinden giden bir sayı
  23. Yarı yolda yüz değiştir
  24. Dönüşü canlandır
  25. Kendin yap: en iyi oyunun