Atölye › Mario Tarzı Platform › 4/37. adım

Ne katı?

Ne yapıyoruz

Oyuncunun yaptığı her şey aynı soruyu soracak: bu nokta katı bir döşemenin içinde mi? Yürürken önündeki duvar, düşerken ayağının altındaki zemin... Hepsini tek bir fonksiyon cevaplayacak: solidAt (şurada katı mı?).

Önce pikseli döşemeye çeviririz. Sonra bölümün dışını da kararlaştırırız, çünkü oyuncu kenarlara ulaşacak:

```js
function solidAt(x, y) {
  const col = Math.floor(x / TILE)
  const row = Math.floor(y / TILE)
  if (col < 0 || col >= COLS) return true // invisible walls at both ends of the level
  if (row < 0 || row >= ROWS) return false // open sky above, bottomless pits below
  const tile = LEVEL[row][col]
  return tile === '#' || tile === 'B'
}
```

Ne işe yarıyor

Sıra sende

function draw() { satırının üstüne solidAt fonksiyonunu yaz; aralarında bir boş satır kalsın. Çalıştır: ekran aynı, kontroller yeşil.

Beceriler: Çarpışma tespiti, Fonksiyonlar

Tüm adımlar

  1. Gökyüzü
  2. Metinden bir bölüm
  3. Döşemeleri çiz
  4. Ne katı?
  5. Kutu bir şeye değiyor mu?
  6. Başlangıcı bul
  7. Oyuncuyu çiz
  8. Yerçekimi
  9. Döşemelere inmek
  10. Hangi tuşlar basılı?
  11. Hızlan
  12. Sürtünme
  13. Duvarlar
  14. Zıpla
  15. Kafanı çarp
  16. Kısa zıplamalar
  17. Birkaç karelik tolerans
  18. Coyote time
  19. Takip eden kamera
  20. Uçlarda dur
  21. Yalnız ekrandakini çiz
  22. Altınlar
  23. Topla
  24. Say: ekran ve dünya
  25. Düşmanlar
  26. Yürüyen düşmanlar
  27. Kenardan düşme
  28. Canlar ve yeniden başlamak
  29. Çukura düşmek
  30. Düşmanlar incitir
  31. Ez!
  32. Ezilen düşman gider
  33. Oyun bitti
  34. Yeniden oyna
  35. Bayrak
  36. Bayrağa ulaş
  37. Kendin yap: zıplama tamponu