Atölye › Scorched Earth Tarzı Topçu › 13/23. adım

Hasar

Ne yapıyoruz

Patlamanın içindeki tank can kaybetsin: tam üstüne düşerse 60, uzaklaştıkça daha az, kenarda hiç. Her tankın üstünde 30'un altında kırmızıya dönen bir can çubuğu olsun.

```js
for (const t of tanks) {
  const d = Math.hypot(t.x - x, t.y - 6 - y)
  if (d < BLAST) t.hp = Math.max(0, Math.round(t.hp - (1 - d / BLAST) * 60))
}

  // Health bar
  ctx.fillStyle = '#0f172a'
  ctx.fillRect(t.x - 16, t.y - 22, 32, 4)
  ctx.fillStyle = t.hp > 30 ? '#22c55e' : '#ef4444'
  ctx.fillRect(t.x - 16, t.y - 22, (32 * t.hp) / 100, 4)
```

Ne işe yarıyor

Sıra sende

  1. explode'da kazma döngüsünün altına hasar döngüsünü yaz.
  2. draw'ın tank döngüsünde ctx.stroke() satırının altına can çubuğu satırlarını yaz. Çalıştır.

Beceriler: Çarpışma tespiti, Oyun durumları

Tüm adımlar

  1. Zemin
  2. Tepeler
  3. İki tank
  4. Namlu
  5. Oyun döngüsü
  6. Nişan al
  7. Açı ve güç
  8. Ateş!
  9. Uçuş
  10. Bum
  11. Kraterler
  12. Düşen tanklar
  13. Hasar
  14. Sırayla
  15. Bilgisayarın atışı
  16. Tanka isabet
  17. Kazan ya da kaybet
  18. Rüzgâr
  19. Bilgisayar nişan alıyor
  20. Fareyle nişan al
  21. Sürükle ve bırak
  22. atan2 tuzağı
  23. Kendin yap: iz