Atölye › Puzzle Bobble Tarzı Balon Atıcı › 15/31. adım

Daha küçük adımlar

Ne yapıyoruz

Balon karede 12 piksel gidiyor. Tek adımda bu kadar ilerleyince dar bir aralığın üstünden atlayabilir ya da bir balonun içine gömüldükten sonra fark edilebilir; o zaman yanlış hücreye oturur.

Çözüm: her kareyi üç küçük adıma böl. Her adım 4 piksel ilerler ve değmeyi kontrol eder. Karede yine 12 piksel gider, ama çok daha dikkatli.

```js
// A few small steps per frame, so the bubble cannot jump past a gap.
for (let i = 0; i < 3 && shot; i++) {
  shot.x += shot.vx / 3
  shot.y += shot.vy / 3
  if (shot.x < R || shot.x > canvas.width - R) {
    shot.vx = -shot.vx // bounce off the side walls
    shot.x = Math.max(R, Math.min(canvas.width - R, shot.x))
  }
  if (touches(shot.x, shot.y)) {
    const cell = snap(shot.x, shot.y)
    attach(cell.r, cell.c, shot.color)
    shot = null
  }
}
```

Ne işe yarıyor

Sıra sende

  1. update içinde if (!shot) return satırının altına yorum satırını ve for (let i = 0; i < 3 && shot; i++) { yaz.
  2. Altındaki bütün satırları iki boşluk içeri al; en sona döngüyü kapatan } ekle.
  3. shot.vx ve shot.vy eklemelerini / 3 ile böl. Çalıştır: oyun aynı hissettirir, ama atışlar daha isabetli.

Beceriler: Hız ve yerçekimi, Çarpışma tespiti

Tüm adımlar

  1. Gece göğü
  2. Bir balon
  3. Hücrelerden bir ızgara
  4. Izgarayı çiz
  5. İç içe oturan balonlar
  6. Atıcı
  7. Yukarı nişan al
  8. Oklarla çevir
  9. İşaretçiyle nişan al
  10. Ateş!
  11. Uç
  12. Duvarlardan sek
  13. Bir şeye değiyor mu?
  14. Izgaraya otur
  15. Daha küçük adımlar
  16. Altı komşu
  17. Taşan boya (flood fill)
  18. Üç tane olunca patla
  19. Düşen balonlar
  20. Asılı kalmayanlar düşsün
  21. Skoru göster
  22. Yalnız işe yarayan renkler
  23. Atışları say
  24. Tavan iniyor
  25. Kazan ya da kaybet
  26. Tehlike çizgisi
  27. Bitiş mesajı
  28. Yeniden oyna
  29. En iyi skor
  30. Noktalı kılavuz
  31. Kendin yap: balonları değiştir