C++ Academy · درس

لعبة تخمين الأعداد

نفّذ لعبة تفاعلية صغيرة لتخمين الأعداد باستخدام أعداد عشوائية.

الدرس 3 من 414 خطوة

لعبة تخمين الأعداد درس مجاني في C++ Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C++ Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C++ Academy 4 دروس في المجموع.

خطة اللعبة

يختار البرنامج رقمًا سريًا بين 1 و100. يخمّن المستخدم، ويخبره البرنامج بأن التخمين «مرتفع جدًا» أو «منخفض جدًا». يفوز المستخدم بعد عدد ثابت من المحاولات أو عند التخمين الصحيح.

الترويسات المطلوبة

نحتاج إليها للأرقام العشوائية والإدخال والإخراج.

#include <iostream>
#include <random>
#include <string>

توليد الرقم السري

استخدموا مرافق <random> الحديثة. واجعلوا التهيئة تحدث مرة واحدة.

std::random_device rd;
std::mt19937 engine(rd());
std::uniform_int_distribution<int> dist(1, 100);
int secret = dist(engine);

الحلقة الرئيسية

اعرضوا المطالبة، واقرؤوا القيمة، وقارنوها، وكرّروا ذلك حتى تصبح صحيحة.

int guess;
int attempts = 0;
while (true) {
    ++attempts;
    std::cout << "Guess (1-100): ";
    if (!(std::cin >> guess)) break;
    if (guess == secret) {
        std::cout << "Got it in " << attempts << " tries\n";
        break;
    }
    std::cout << (guess < secret ? "too low" : "too high") << "\n";
}

تحديد عدد المحاولات

أضيفوا عددًا أقصى للمحاولات لجعل اللعبة أكثر تحديًا.

const int MAX = 10;
if (attempts >= MAX) {
    std::cout << "Out of tries! It was " << secret << "\n";
    break;
}

التحقق من المدخلات

إذا أدخل المستخدم قيمة غير رقمية، تنتقل cin إلى حالة الفشل. عالجوا ذلك بسلاسة.

if (!(std::cin >> guess)) {
    std::cin.clear();
    std::cin.ignore(10000, '\n');
    std::cout << "Please enter a number\n";
    continue;
}

التخمينات خارج النطاق

ارفضوا الأرقام خارج النطاق من 1 إلى 100 قبل احتساب المحاولة.

if (guess < 1 || guess > 100) {
    std::cout << "Out of range\n";
    --attempts;     // not a real attempt
    continue;
}

حلقة إعادة اللعب

بعد انتهاء اللعبة، اسألوا المستخدم عما إذا كان يريد اللعب مجددًا.

std::cout << "Play again? (y/n): ";
char reply;
std::cin >> reply;
if (reply != 'y') break;

تتبّع الإحصاءات

احتفظوا بالإجماليات عبر الألعاب، مثل أفضل نتيجة، ومتوسط عدد المحاولات، وإجمالي مرات الفوز.

int wins = 0;
int bestAttempts = INT_MAX;
// update inside the win branch

تخصيص النطاق

اسمحوا للمستخدم باختيار الوضع السهل (1 إلى 10)، أو المتوسط (1 إلى 100)، أو الصعب (1 إلى 1000). واضبطوا dist وفقًا لذلك.

نظام التلميحات

اختياري: بعد عدة تخمينات خاطئة، ضيّقوا النطاق. «إنه أكبر من 40 أو يساويه».

التقسيم إلى دوال

أعيدوا التنظيم إلى generateSecret() وreadGuess() وplayRound() وmain(). تؤدي كل دالة مهمة واحدة.

تحقّق سريع

ما سلسلة تضمينات الترويسات المطلوبة للحصول على رقم عشوائي حديث في C++؟

مراجعة

تجمع لعبة تخمين الأرقام بين توليد الأرقام العشوائية، والتحقق من المدخلات، والحلقات، وحالة اللعبة. أعيدوا التنظيم إلى دوال صغيرة، وأضيفوا إعادة اللعب والإحصاءات ومستويات الصعوبة لتحسين اللعبة.

البدء مجانًا

تعلم C++ مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
51
الدروس
203

الأسئلة الشائعة

هل درس «لعبة تخمين الأعداد» مجاني؟

نعم — نص درس «لعبة تخمين الأعداد» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C++ Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C++ Academy 4 دروس في المجموع.

ماذا ستتعلم في «لعبة تخمين الأعداد»؟

نفّذ لعبة تفاعلية صغيرة لتخمين الأعداد باستخدام أعداد عشوائية. تتمرن على C++ Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ C++ Academy؟

لا تُشترط خبرة سابقة. C++ Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «لعبة تخمين الأعداد»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس C++ Academy هذا؟

نعم. كل درس في C++ Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. بناء حاسبة بسيطة لسطر الأوامر
  2. قراءة ملفات CSV وكتابتها
  3. لعبة تخمين الأعداد
  4. عداد تكرار الكلمات
← العودة إلى C++ Academy