Atölye › Bilardo › 12/33. adım

Bantlar

Ne yapıyoruz

Bant, topu geri yansıtır. Top sol kenarı geçtiyse onu kenara geri koyar, yatay hızının işaretini çeviririz: sola giden sağa döner. Üst ve alt bantta aynısı dikey hızla.

Gerçek bantlar enerjinin bir kısmını yutar; bu yüzden sekişte hızın yalnız %80'i kalacak.

Topun merkezi kenara R kadar yaklaşınca top banda değmiş olur: sınır LEFT değil, LEFT + R.

```js
const BOUNCE = 0.8 // speed kept when hitting a cushion

    // Cushions: reflect the velocity and lose a little speed.
    if (b.x < LEFT + R) [b.x, b.vx] = [LEFT + R, -b.vx * BOUNCE]
    if (b.x > RIGHT - R) [b.x, b.vx] = [RIGHT - R, -b.vx * BOUNCE]
    if (b.y < TOP + R) [b.y, b.vy] = [TOP + R, -b.vy * BOUNCE]
    if (b.y > BOTTOM - R) [b.y, b.vy] = [BOTTOM - R, -b.vy * BOUNCE]
```

Ne işe yarıyor

Sıra sende

  1. FRICTION satırının altına BOUNCE yaz.
  2. step içindeki döngüde b.y += b.vy satırının altına yorum satırını ve dört bant satırını yaz.
  3. Çalıştır, nişanı yukarı ya da aşağı çevir ve vur: top bantlardan sekmeli.

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

Tüm adımlar

  1. Oda
  2. Masa
  3. İsteka topu
  4. Topları çiz
  5. Üçgen
  6. Topların numaraları
  7. Nişan çizgisi
  8. Nişanı çevir
  9. Vuruş bir hızdır
  10. Yuvarlan
  11. Sürtünme
  12. Bantlar
  13. Nişan ve yuvarlanma
  14. Yuvarlanırken nişanı gizle
  15. Vuruşları say
  16. Değen toplar
  17. İtişi değiş tokuş et
  18. Altı cep
  19. Cebe girdi
  20. Faul
  21. Kalan toplar
  22. Masayı temizle
  23. Gücü seç
  24. Güç çubuğu
  25. Sapan
  26. Basarak nişan al
  27. Geri çek ve bırak
  28. Daha küçük adımlar
  29. Vuruşu tahmin et
  30. Hayalet topu çiz
  31. Çarpılan top nereye gider
  32. Rekorun
  33. Kendin yap: iki oyuncu