الدرس 2 من 10
الأرقام والنصوص
- 13 دقيقة
- 6 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
// و % و ^ وطرق النصّ
الشرح
في Lua 5.4 للرقم نوعان فرعيّان: صحيح integer وعشري float، وmath.type(x) تخبرك أيّهما. والقسمة / تُرجع عشريًّا دائمًا، فـ 10 / 2 تعطي 5.0. أما // فتقسم وتقرّب إلى الأدنى، و% تعطي الباقي: 250 // 4 تعطي 62 و250 % 4 تعطي 2. هكذا يُقسم ذهب الغنيمة على الفريق.
والأسّ ^ عشري دائمًا حتى على الصحيحين: 2 ^ 3 تعطي 8.0. فمنحنى الخبرة 100 * level ^ 2 يظهر في الواجهة 900.0، وmath.floor تعيده صحيحًا. ولعرض العشري بمنزلتين string.format("%.2f", x).
وطرق النصّ تُنادى بنقطتين رأسيّتين: nick:upper()، وnick:sub(1, 3) من الحرف الأول إلى الثالث، و("#"):rep(5) تكرّر النصّ، و#nick طوله. لكن # وsub تعدّان البايتات لا الأحرف، والحرف العربي بايتان: #"ليان" تعطي 8. للأحرف العربية utf8.len، وupper لا تغيّر فيها شيئًا.
المطلوب
اقسم gold على party: share نصيب كل لاعب عددًا صحيحًا، وleftover ما يبقى. وxpNext قيمة 100 * level ^ 2 عددًا صحيحًا. وaccuracy نسبة hits إلى shots مئويةً، نصًّا بمنزلتين. وtag أول ثلاثة أحرف من nick كبيرةً بين قوسين مربّعين. وbar علامة # لكل 10 من hp.
معايير التصحيح
6 معايير- share نصيب صحيح: 62 لا 62.5
- leftover الباقي: 2
- xpNext يساوي 900 صحيحًا لا 900.0
- accuracy نصّ بمنزلتين: 71.15
- tag هو [SHA]
- bar سبع علامات #