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

Bilgisayarın atışı

Ne yapıyoruz

Sırası gelince bilgisayar bir saniye (60 kare) "düşünsün", sonra namlusu nasılsa öyle ateş etsin. Henüz nişan almıyor; o daha sonra. Bir tankın üstündeki küçük üçgen sıranın kimde olduğunu göstersin.

```js
let thinking // frames until the computer shoots

  if (turn === 1) thinking = 60

  if (state === 'aiming' && turn === 1 && --thinking === 0) {
    fire()
  }

  for (const [i, t] of tanks.entries()) {

    if (i === turn && state === 'aiming') {
      ctx.fillStyle = '#0f172a'
      ctx.beginPath()
      ctx.moveTo(t.x - 5, t.y - 34)
      ctx.lineTo(t.x + 5, t.y - 34)
      ctx.lineTo(t.x, t.y - 27)
      ctx.fill()
    }
```

Ne işe yarıyor

Sıra sende

  1. let state satırının altına thinking yaz; endTurn'ün sonuna düşünme satırını yaz.
  2. update'te patlama bloğunun altına bilgisayarın ateş bloğunu yaz.
  3. draw'da for (const t of tanks) satırını entries ile yaz; can çubuğunun altına üçgen bloğunu yaz.
  4. Çalıştır ve ateş et: bilgisayar bir saniye sonra karşılık vermeli.

Beceriler: Oyun durumları, Oyun döngüsü

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