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

İki tank

Ne yapıyoruz

İki tank: seninki (mavi) solda, bilgisayarınki (kırmızı) sağda. Her tank yerini, canını (hp) ve nasıl nişan aldığını (angle açı, power güç) hatırlıyor. Zeminin üstünde duruyorlar: groundAt(x) herhangi bir x'te zeminin yüksekliğini söylüyor; sütunların arasında ya da tuvalin dışında bile. reset yeni bir oyun kuruyor.

```js
let tanks // [you, the computer]: { x, y, hp, angle, power, color }

const groundAt = (x) => ground[Math.max(0, Math.min(W - 1, Math.round(x)))]

function reset() {
  makeGround()
  tanks = [
    { x: 70, y: 0, hp: 100, angle: -Math.PI / 4, power: 8, color: '#2563eb' },
    { x: W - 70, y: 0, hp: 100, angle: (-3 * Math.PI) / 4, power: 8, color: '#dc2626' },
  ]
  for (const t of tanks) t.y = groundAt(t.x)
}

  for (const t of tanks) {
    ctx.fillStyle = t.color
    ctx.fillRect(t.x - 10, t.y - 8, 20, 8)
  }

reset()
```

Ne işe yarıyor

Sıra sende

  1. let ground satırının altına tanks yaz.
  2. makeGround'un altına groundAt ve reset yaz.
  3. draw'ın sonuna tankları çizen döngüyü yaz; en alttaki makeGround() satırını reset() yap. Çalıştır.

Beceriler: Canvas üzerine çizim, Diziler ve nesneler

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