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

Scorched Earth Tarzı Topçu: Zemin

Tepelerin üstünden bir bilgisayar rakibe mermi at. Toplanan sinüs dalgalarından bir yükseklik haritası olarak saklanan tepeler, açı ve güçle nişan (ve atan2 tuzağı), kare kare uçuş, zemine kazılan yuvarlak kraterler, uzaklıkla azalan hasar, rüzgâr ve binlerce atışı hayal ederek nişan alan bir bilgisayar.

Ne yapıyoruz

Scorched Earth tarzı bir topçu oyunu yapıyoruz: tepelerdeki iki tank birbirine mermi atıyor. Sonunda nasıl olacağını Bitmiş hâlini gör ile görebilirsin.

Önce zemin. Zemin bir yükseklik haritası: her piksel sütunu için bir sayı tutan bir liste; o sütunda yüzeyin y'si. Şimdilik dümdüz.

```js
const canvas = document.getElementById('game')
const ctx = canvas.getContext('2d')

const W = canvas.width
const H = canvas.height

let ground // ground[x]: the y of the surface in column x

function makeGround() {
  ground = []
  for (let x = 0; x < W; x++) {
    let y = 220
    ground.push(y)
  }
}

function draw() {
  ctx.fillStyle = '#7dd3fc'
  ctx.fillRect(0, 0, W, H)
  ctx.fillStyle = '#65a30d'
  for (let x = 0; x < W; x++) ctx.fillRect(x, ground[x], 1, H - ground[x])
}

makeGround()
draw()
```

Ne işe yarıyor

Sıra sende

Satırları yorum satırlarının altına yaz ve Çalıştır'a bas: mavi gökyüzü ve düz yeşil bir zemin görmelisin.

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