الدرس 1 من 10

حلقة اللعب

هدف الدرس

update ثم draw، ستّين مرّة في الثانية

01

الشرح

كل لعبة — من Pong إلى أكبرها — حلقة واحدة تتكرّر: حدّث الحالة، ثم ارسمها. وrequestAnimationFrame ينادي الحلقة قبل كل إطار يرسمه المتصفح، نحو ستّين مرّة في الثانية.

والسرّ الذي يفصل اللعبة المتقنة عن المتعثّرة: الحركة تُضرب في dt — الزمن منذ الإطار السابق. بلا ذلك تسرع اللعبة على الشاشات السريعة وتبطؤ على البطيئة.

وافصل update عن draw: التحديث منطق خالص لا يعرف شيئًا عن الرسم، فيُختبر وحده ويُعاد استعماله. والرسم يقرأ الحالة فقط.

02

المطلوب

اكتب update(ball, dt, width): تحرّك الكرة بـ vx * dt، وإن تجاوزت الجدار الأيمن أو الأيسر ارتدّت (يُعكس vx). الرسم والحلقة جاهزان.

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

5 معايير
  1. update دالة معرَّفة
  2. الحركة تتناسب مع dt
  3. الارتداد عن الجدار الأيمن
  4. والارتداد عن الأيسر
  5. لا تتحرّك إن كان dt صفرًا
index.html
المعاينة
index.html100%
–/5

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

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