الدرس 4 من 10

مضرب Pong

هدف الدرس

مضرب محصور، وارتداد يصوّبه اللاعب

01

الشرح

في Pong قراران يصنعان اللعبة. الأول أن المضرب لا يغادر الملعب: تحرّكه بـ dir * speed * dt ثم تحصره بين 0 وheight - h. والحصر بعد الحركة لا قبلها؛ فالشرط قبل الحركة يسمح بتجاوز الحدّ بخطوة إطار كاملة.

والثاني ما يجعلها لعبة مهارة: الكرة لا ترتدّ كالمرآة، بل بزاوية يحدّدها موضع الضربة. في منتصف المضرب ترجع أفقية، وكلما ابتعدت الضربة نحو طرفه مالت أكثر، حتى 60°. فيصوّب اللاعب بمضربه.

والحساب: offset من -1 عند الطرف الأعلى إلى 1 عند الأسفل، والزاوية offset * Math.PI / 3. ثم تُوزَّع السرعة نفسها على المحورين بـ cos وsin؛ فالميل يغيّر الاتجاه لا مقدار السرعة.

02

المطلوب

اكتب movePaddle(paddle, dir, dt, height): dir هو -1 أو 0 أو 1، والمضرب { x, y, w, h, speed } يبقى داخل الملعب. واكتب bounce(ball, paddle) للمضرب الأيسر: تُبقي مقدار السرعة Math.hypot(vx, vy)، وتجعل vx موجبًا، وvy بحسب موضع الضربة. في المعاينة يلعب المضرب وحده.

معايير التصحيح

6 معايير
  1. المضرب يتحرّك بـ dir × speed × dt
  2. ولا يغادر الملعب من أعلى أو أسفل
  3. ضربة المنتصف ترجعها أفقية
  4. أعلى المضرب يرفعها وأسفله يخفضها
  5. الأبعد عن المنتصف أشدّ ميلًا
  6. ترتدّ بمقدار السرعة نفسه
index.html
المعاينة
index.html100%
–/6

اضغط «تشغيل» ليبدأ الفحص.

6 معايير في بطاقة «المطلوب».