الدرس 3 من 10

الجمل الشرطية

هدف الدرس

التفرّع بـ if وswitch والعامل الثلاثي

01

الشرح

تنفّذ if الكود التابع لها إذا كان شرطها صحيحًا، وتضيف else if شرطًا آخر يُفحص إذا لم يصحّ ما قبله، وتأخذ else كل ما بقي. ويفحص البرنامج الفروع بالترتيب وينفّذ أول فرع صحيح فقط، ولذلك ابدأ بالحدّ الأعلى. وتجمع شرطين بـ && (و) أو بـ || (أو)، وتعكس الشرط بـ !. ولا بدّ أن يكون الشرط في C# قيمة من نوع bool، فكتابة if (score) خطأ ترجمة، بخلاف JavaScript وPython.

أما switch فتقارن قيمة واحدة بعدّة حالات ثابتة، وكل case يجب أن تنتهي بـ break أو return، لأن C# لا تسمح بأن يكمل التنفيذ من حالة فيها كود إلى الحالة التي بعدها. وإذا كتبت حالتين متتاليتين ليس بينهما كود اشتركتا في الكود نفسه، مثل case 'W': case 'w':، وتأخذ default كل قيمة لم تذكرها.

ويختار العامل الثلاثي (ternary operator) cond ? a : b بين قيمتين في سطر واحد، مثل int price = isMember ? 80 : 100;، وهو مناسب للاختيار القصير بين قيمتين، أما المنطق الطويل فاكتبه بـ if.

02

المطلوب

أكمل Grade(score) بسلسلة من if بحيث تُرجع "A" للدرجة 90 فأكثر، و"B" من 80، و"C" من 70، و"D" من 60، و"F" لما دون ذلك، وتُرجع "?" إذا كانت الدرجة خارج المدى من 0 إلى 100. ثم أكمل Direction(key) بـ switch على مفاتيح الحركة، فالمفتاح W يُرجع "فوق"، وS يُرجع "تحت"، وA يُرجع "يسار"، وD يُرجع "يمين"، سواء كُتب الحرف كبيرًا أو صغيرًا، وأي مفتاح آخر يُرجع "ثابت". وأخيرًا اجعل ShieldDamage(damage, hasShield) تُرجع بالعامل الثلاثي نصف الضرر إذا كان مع اللاعب درع، والضرر كاملًا إذا لم يكن معه.

الفحوص

6 فحوص
  1. الدالة Grade تُرجع A من 90 فأكثر، وB للدرجة 89
  2. الدالة Grade تُرجع C وD وF عند حدود كلٍّ منها
  3. الدالة Grade تُرجع "?" للدرجة خارج المدى من 0 إلى 100
  4. الدالة Direction تعرف المفاتيح W وS وA وD
  5. الدالة Direction تقبل الحرف الصغير، وتُرجع «ثابت» لأي مفتاح آخر
  6. الدالة ShieldDamage تنصّف الضرر إذا كان مع اللاعب درع فقط
03

تلميحات

0/3
دروس المسارأتممت 0 من 10

تُكتب بلغة C# ألعاب Unity وتطبيقات .NET، ولكل متغيّر فيها نوع ثابت، وتُبنى برامجها من أصناف، وتأتي معها أدوات جاهزة لأغلب ما تحتاجه.

مستواه مبتدئ، وفيه 10 دروس مجموع مدّتها ساعتان ونصف.

Program.cs
المخرجاتC# (Mono 6.6, Judge0)

يُترجَم كودك الآن ويُشغَّل على الخادم.

–/6

يُترجَم كودك الآن ويُشغَّل على الخادم.

تجد 6 فحوص في بطاقة «المطلوب».

دروس المسارأتممت 0 من 10

تُكتب بلغة C# ألعاب Unity وتطبيقات .NET، ولكل متغيّر فيها نوع ثابت، وتُبنى برامجها من أصناف، وتأتي معها أدوات جاهزة لأغلب ما تحتاجه.

مستواه مبتدئ، وفيه 10 دروس مجموع مدّتها ساعتان ونصف.