ملخص - الحسابات البسيطة
جزء من قسم الأساسيات في رحلة Dart على Coddy. الدرس 21 من 94.
التحدي
سهلأنت تطوّر حاسبة بسيطة لنتيجة لعبة تتتبّع تقدّم اللاعب عبر مستويات مختلفة. اتبع هذه الخطوات بعناية لإنشاء برنامجك:
الخطوة 1: تهيئة المتغيرات
- أنشئ متغيرًا صحيحًا يُسمّى
playerScoreواضبط قيمته على 100 - أنشئ متغيرًا صحيحًا يُسمّى
currentLevelواضبط قيمته على 5
الخطوة 2: حساب إحصاءات اللعبة
احسب القيم التالية وخزّنها في متغيرات جديدة:
- Level Bonus: اضرب المستوى الحالي في 20 وخزّن الناتج في متغير يُسمّى
levelBonus - Power-ups Available: تكلفة كل تعزيز هي 25 نقطة. استخدم القسمة الصحيحة (
~/) لمعرفة عدد التعزيزات الكاملة التي يستطيع اللاعب تحمّل تكلفتها من نتيجته الحالية. خزّن هذه القيمة فيpowerUps - Remaining Points: استخدم معامل باقي القسمة (
%) لمعرفة عدد النقاط المتبقية بعد شراء جميع التعزيزات الممكنة. خزّن هذه القيمة فيremainingPoints
الخطوة 3: تحديث نتيجة اللاعب والمستوى
- أضف مكافأة المستوى إلى نتيجة اللاعب باستخدام معامل
+= - زد المستوى الحالي بمقدار 1 باستخدام معامل الزيادة السابق (
++currentLevel) وخزّن هذه القيمة الجديدة في متغير يُسمّىnewLevel - اطرح 15 نقطة من نتيجة اللاعب باستخدام معامل
-= - ضاعف نتيجة اللاعب بضربها في 2 باستخدام معامل
*=
الخطوة 4: عرض النتائج
عبارات الطباعة متوفرة بالفعل في الشيفرة. لا تعدّلها. مهمتك هي ملء تعريفات المتغيرات والحسابات الناقصة أعلاه بحيث يطابق الناتج تمامًا.
ملاحظة: تعرض إحدى عبارات الطباعة المتوفرة playerScore / 1.5، وهي تُجري قسمة عادية (غير صحيحة) وتنتج قيمة عشرية. هذا متوقع: سيكون ناتج ذلك السطر 246.66666666666666.
مهم: تأكد من إجراء حساباتك بالترتيب المحدد تمامًا أعلاه، لأن كل خطوة تؤثر في الخطوة التالية.
مطلوب تنسيق الإخراج:جرّب بنفسك
void main() {
// تهيئة نقاط اللاعب والمستوى
int playerScore = ?;
int currentLevel = ?;
// Calculate level bonus, power-ups, and remaining points
int levelBonus = ?;
int powerUps = ?;
int remainingPoints = ?;
// أضف مكافأة المستوى إلى النقاط باستخدام اختصار الإسناد
?;
// زيادة المستوى وتخزين المستوى الجديد
int newLevel = ?;
// إنقاص النقاط بمقدار 15 باستخدام اختصار الإسناد
playerScore ?;
// احسب النقاط النهائية (اضرب في 2)
playerScore ?;
// اطبع النتائج
print('Initial score: 100');
print('Level bonus: $levelBonus');
print('Available power-ups: $powerUps');
print('Remaining points: $remainingPoints');
print('New level: $newLevel');
print('Score after bonus and penalty: ${playerScore / 1.5}');
print('Final score with multiplier: $playerScore');
}جميع دروس الأساسيات
4المعاملات - الجزء الثاني
معاملات المقارنةالمعامل المنطقي ANDالمعامل المنطقي ORالمعامل المنطقي NOTمعاملات فحص النوعملخص - إجراء المقارنات7التعامل مع النصوص (Strings)
دمج النصوص (String Concatenation)تضمين النصوص (String Interpolation)النصوص متعددة الأسطر (Multi-line Strings)خصائص النصوص (String Properties)دوال النصوص الأساسية (String Methods)10المجموعات - أساسيات الخرائط
ما هي الخرائط؟إنشاء خريطةالوصول إلى القيم عبر المفتاحأزواج المفتاح والقيمةالحصول على حجم الخريطةالحصول على المفاتيحالحصول على القيمالتحقق من وجود مفتاح2المتغيرات وأنواع البيانات الأساسية
ما هي المتغيرات؟النصوص (Strings)الأعداد الصحيحة (int)الأعداد العشرية (double)القيم المنطقية (bool)استنتاج النوع باستخدام 'var'المتغيرات النهائية (Final)المتغيرات الثابتة (Constant)قواعد التسميةأساسيات الـ Null Safetyملخص - التصريح عن المتغيرات8مسار التحكم - الحلقات التكرارية
حلقة 'for' التكراريةحلقة 'while' التكراريةحلقة 'do-while' التكراريةاستخدام 'break' في الحلقات التكراريةاستخدام 'continue' في الحلقات التكراريةملخص - تكرار الكود البرمجي3المعاملات - الجزء الأول
المعاملات الحسابيةالقسمة الصحيحةمعامل باقي القسمة (Modulo)الزيادة والنقصاناختصارات التعيينملخص - الحسابات البسيطة6تدفق التحكم - اتخاذ القرار
جملة 'if'جملة 'else'جملة 'else if'ملخص - القرارات البسيطةجمل 'if' المتداخلةجملة 'switch'9المجموعات - أساسيات القوائم
ما هي القوائم؟إنشاء قائمةالوصول عبر الفهرسالحصول على طول القائمةإضافة عناصرإزالة عناصرالتحقق مما إذا كانت القائمة فارغةالتكرار عبر القائمةتدرّب بنفسك: مترجم Dart عبر الإنترنت