الدرس 3 من 10
الجمل الشرطية
- 12 دقيقة
- 6 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
if و switch والعامل الثلاثي
الشرح
if تنفّذ كتلتها إن صحّ شرطها، وelse if تعرض شرطًا آخر، وelse لما بقي. وJava تفحص الفروع بالترتيب وتنفّذ أول فرع صحيح فقط، فابدأ بالحدّ الأعلى: لو بدأت بـ score >= 60 لنال صاحب الـ 95 درجة D. وتُجمع الشروط بـ && (و) و|| (أو).
وswitch تطابق قيمة واحدة مع ثوابت: case 'w':. وكل فرع يُختم بـ break، وإلا سقط التنفيذ إلى الفرع التالي ونفّذه أيضًا. هذا السقوط مصدر أخطاء شهير، لكنه يفيد حين تتشارك قيم عدّة فرعًا واحدًا: case 'w': case 'W':. وdefault لكل ما لم يطابق.
وللاختيار بين قيمتين في سطر واحد العاملُ الثلاثي cond ? a : b: int lives = hardMode ? 1 : 3;.
المطلوب
grade(score) بسلسلة if: A من 90، وB من 80، وC من 70، وD من 60، وإلا F، والدرجة خارج 0 إلى 100 تُرجع "?". وmove(key) لمفاتيح WASD بـ switch: w «أعلى» وs «أسفل» وa «يسار» وd «يمين»، بالحرف الصغير والكبير، وأي مفتاح آخر «ثابت». وdamage(base, critical) بالعامل الثلاثي: ضعف base في الضربة الحرجة، وإلا base نفسه.
معايير التصحيح
6 معايير- grade: من 90 إلى 100 درجة A
- grade: الحدود بالترتيب الصحيح
- grade: تحت 60 درجة F، وخارج المدى "?"
- move بالحرف الصغير والكبير
- move لأي مفتاح آخر: ثابت
- damage تتضاعف في الضربة الحرجة