Atölye › Bomberman Tarzı Arena › 38/42. adım

Parmak hangi yanda?

Ne yapıyoruz

Telefonda ok tuşu yok; ama doğal bir kontrol var: parmağını oyuncunun gitmek istediğin yanına koy. touch fonksiyonu parmağı oyuncunun merkeziyle karşılaştırır ve bir ok tuşunun adını döndürür: 'ArrowRight' gibi. Parmak oyuncunun üstündeyse null döndürür; bu bomba demek olacak.

Cevabın tuş adı olması işin püf noktası: bir sonraki adımda dokunuş, klavyenin doldurduğu aynı held listesini dolduracak ve geri kalan her şey olduğu gibi çalışacak.

```js
// Touch: hold a finger on one side of the player to walk that way; tap on the player to drop a bomb.
function touch(event) {
  const rect = canvas.getBoundingClientRect()
  const x = ((event.clientX - rect.left) * canvas.width) / rect.width
  const y = ((event.clientY - rect.top) * canvas.height) / rect.height
  const dx = x - (player.x * TILE + TILE / 2)
  const dy = y - (TOP + player.y * TILE + TILE / 2)
  if (Math.abs(dx) < TILE / 2 && Math.abs(dy) < TILE / 2) return null
  if (Math.abs(dx) > Math.abs(dy)) return dx > 0 ? 'ArrowRight' : 'ArrowLeft'
  return dy > 0 ? 'ArrowDown' : 'ArrowUp'
}
```

Ne işe yarıyor

Sıra sende

  1. function drawCircle( satırının üstüne yorumu ve touch fonksiyonunu yaz.
  2. Çalıştır: ekranda fark yok; dokunmayı bir sonraki adımda bağlayacağız.

Beceriler: Klavye ve fare girdisi

Tüm adımlar

  1. Arenayı ölç
  2. Karelerden bir zemin
  3. Her karede çiz
  4. Veri olarak arena
  5. Izgaranın dediğini çiz
  6. Sütunlar
  7. Kasalar
  8. Köşeleri boş tut
  9. Oyuncu
  10. Basılı tuşlar
  11. Hedefe doğru kay
  12. Yürü
  13. Bomba bırak
  14. Boşluk bırakır, bomba görünür
  15. Aynı anda bir bomba
  16. Bombalar yol keser
  17. Fitil yanar
  18. Ateş!
  19. Alevler söner
  20. Artı biçiminde alev
  21. Kasalar yanar
  22. Zincirleme patlama
  23. Bombalar yanıp söner
  24. Alev yakar
  25. Kısa bir güvenlik
  26. Kalpler
  27. Canlar bitti
  28. Oyun bitti
  29. Düşmanlar
  30. Düşmanlar dolaşır
  31. Geri dönmek yok
  32. Vur ve değme
  33. Bütün düşmanlar gitti
  34. Saklı güçlendirmeler
  35. Güçlendirmeleri göster
  36. Topla
  37. Güçleri göster
  38. Parmak hangi yanda?
  39. Parmakla oyna
  40. Bir saat
  41. En hızlı zafer
  42. Kendin yap: daha akıllı düşman