Atölye › Pong › 10/26. adım

Sahada kal

Ne yapıyoruz

Raketler sahadan çıkmamalı. Bunun için küçük, çok kullanışlı bir fonksiyon yazacağız: clamp (sıkıştır). Bir sayıyı iki sınırın arasına sıkıştırır: küçükse alt sınıra, büyükse üst sınıra çeker. Bir odanın duvarları gibi: istediğin kadar yürü, duvarı geçemezsin.

Raketin y'si 0'ın altına (tavan) ve 320'nin üstüne (400 − 80, zemin) inemeyecek.

```js
function clamp(value, min, max) {
  return Math.max(min, Math.min(max, value))
}

  left.y = clamp(left.y, 0, canvas.height - PADDLE_H)
  right.y = clamp(right.y, 0, canvas.height - PADDLE_H)
```

Ne işe yarıyor

Sıra sende

  1. function update() { satırının üstüne clamp fonksiyonunu ve bir boş satır yaz.
  2. update içinde son satırın (if (keys.ArrowDown) ...) altına iki clamp satırını yaz.
  3. Çalıştır, raketleri kenarlara sür: orada durmalılar.

Beceriler: Oyun durumları, Fonksiyonlar

Tüm adımlar

  1. Canvas'ı ve kalemi al
  2. Siyah saha
  3. Filenin bir parçası
  4. Bütün file
  5. İki raket
  6. Çizen bir fonksiyon
  7. Oyun döngüsü
  8. Basılı tuşları hatırla
  9. Raketleri oynat
  10. Sahada kal
  11. Top
  12. Top hareket eder
  13. Üstten ve alttan sek
  14. Top rakete değiyor mu?
  15. Raketler geri vurur
  16. Yeniden servis
  17. Skoru tut
  18. Skoru göster
  19. Beşe ilk ulaşan
  20. Kim kazandı?
  21. Yeniden oyna
  22. Raketle nişan al
  23. Her vuruşta hızlan
  24. Bilgisayar rakip
  25. Tek ya da iki oyuncu
  26. Kendin yap: servis beklemesi