الدرس 4 من 10
مضرب Pong
- 16 دقيقة
- 6 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
مضرب محصور، وارتداد يصوّبه اللاعب
الشرح
في Pong قراران يصنعان اللعبة. الأول أن المضرب لا يغادر الملعب: تحرّكه بـ dir * speed * dt ثم تحصره بين 0 وheight - h. والحصر بعد الحركة لا قبلها؛ فالشرط قبل الحركة يسمح بتجاوز الحدّ بخطوة إطار كاملة.
والثاني ما يجعلها لعبة مهارة: الكرة لا ترتدّ كالمرآة، بل بزاوية يحدّدها موضع الضربة. في منتصف المضرب ترجع أفقية، وكلما ابتعدت الضربة نحو طرفه مالت أكثر، حتى 60°. فيصوّب اللاعب بمضربه.
والحساب: offset من -1 عند الطرف الأعلى إلى 1 عند الأسفل، والزاوية offset * Math.PI / 3. ثم تُوزَّع السرعة نفسها على المحورين بـ cos وsin؛ فالميل يغيّر الاتجاه لا مقدار السرعة.
المطلوب
اكتب movePaddle(paddle, dir, dt, height): dir هو -1 أو 0 أو 1، والمضرب { x, y, w, h, speed } يبقى داخل الملعب. واكتب bounce(ball, paddle) للمضرب الأيسر: تُبقي مقدار السرعة Math.hypot(vx, vy)، وتجعل vx موجبًا، وvy بحسب موضع الضربة. في المعاينة يلعب المضرب وحده.
معايير التصحيح
6 معايير- المضرب يتحرّك بـ dir × speed × dt
- ولا يغادر الملعب من أعلى أو أسفل
- ضربة المنتصف ترجعها أفقية
- أعلى المضرب يرفعها وأسفله يخفضها
- الأبعد عن المنتصف أشدّ ميلًا
- ترتدّ بمقدار السرعة نفسه