ساخت بازی حدس عدد با پایتون (پروژه مبتدی)

ساخت یک بازی ساده برای مرور پایتون!

ساخت بازی حدس عدد با پایتون (پروژه مبتدی)

یکی از بهترین روش‌ها برای یادگیری برنامه‌نویسی، انجام پروژه‌های کوچک و عملی است. این پروژه‌ها کمک می‌کنند مفاهیم پایه را بهتر درک کنید و در عین حال تجربه واقعی از نوشتن کد به دست آورید.

در این مقاله می‌خواهیم یک پروژه ساده اما کاربردی بسازیم: بازی حدس عدد با پایتون.

در این بازی، کامپیوتر یک عدد تصادفی انتخاب می‌کند و کاربر باید آن را حدس بزند. برنامه بعد از هر حدس به کاربر می‌گوید که عدد انتخابی بزرگ‌تر یا کوچک‌تر از حدس او است تا در نهایت عدد درست پیدا شود.

این پروژه برای یادگیری مفاهیم زیر بسیار مناسب است:

  • کار با ورودی کاربر
  • استفاده از حلقه‌ها
  • شرط‌ها در پایتون
  • استفاده از ماژول‌های استاندارد

منطق بازی حدس عدد

قبل از نوشتن کد بهتر است منطق برنامه را مشخص کنیم.

مراحل بازی به این شکل است:

  1. کامپیوتر یک عدد تصادفی بین 1 تا 100 انتخاب می‌کند.
  2. از کاربر خواسته می‌شود یک عدد حدس بزند.
  3. اگر حدس کاربر درست باشد بازی تمام می‌شود.
  4. اگر عدد حدس زده شده کوچک‌تر باشد برنامه می‌گوید عدد بزرگ‌تر است.
  5. اگر عدد حدس زده شده بزرگ‌تر باشد برنامه می‌گوید عدد کوچک‌تر است.
  6. این روند تا زمانی ادامه پیدا می‌کند که کاربر عدد درست را پیدا کند.

مرحله اول: وارد کردن کتابخانه random

برای اینکه کامپیوتر بتواند یک عدد تصادفی انتخاب کند باید از ماژول random استفاده کنیم.

import random

این ماژول در پایتون به صورت پیش‌فرض وجود دارد و برای تولید اعداد تصادفی استفاده می‌شود.


مرحله دوم: تولید یک عدد تصادفی

حالا باید عددی بین 1 تا 100 تولید کنیم.

number = random.randint(1, 100)

تابع randint یک عدد تصادفی در بازه مشخص شده تولید می‌کند.

در اینجا عددی بین 1 تا 100 ساخته می‌شود.


مرحله سوم: گرفتن حدس از کاربر

برای دریافت ورودی از کاربر از تابع input استفاده می‌کنیم.

guess = int(input("یک عدد بین 1 تا 100 حدس بزن: "))

تابع input مقدار را به صورت رشته (string) دریافت می‌کند.
به همین دلیل با استفاده از int آن را به عدد صحیح تبدیل می‌کنیم.


مرحله چهارم: بررسی درست بودن حدس

حالا باید بررسی کنیم که آیا حدس کاربر درست است یا نه.

if guess == number:
    print("تبریک! عدد درست را حدس زدی.")
elif guess < number:
    print("عدد بزرگ تر است.")
else:
    print("عدد کوچک تر است.")

در اینجا از شرط‌های if و elif استفاده کرده‌ایم.


مرحله پنجم: تکرار بازی با حلقه

در حال حاضر برنامه فقط یک بار حدس را بررسی می‌کند.
برای اینکه کاربر بتواند چند بار حدس بزند باید از حلقه while استفاده کنیم.

while True:

این حلقه تا زمانی اجرا می‌شود که خودمان آن را متوقف کنیم.


نسخه کامل بازی حدس عدد

حالا همه بخش‌ها را با هم ترکیب می‌کنیم و نسخه کامل برنامه را می‌نویسیم.

import random

number = random.randint(1, 100)

while True:
    guess = int(input("یک عدد بین 1 تا 100 حدس بزن: "))

    if guess == number:
        print("تبریک! عدد درست را حدس زدی.")
        break
    elif guess < number:
        print("عدد بزرگ تر است.")
    else:
        print("عدد کوچک تر است.")

نحوه کار برنامه

در این برنامه:

  • یک عدد تصادفی ساخته می‌شود.
  • کاربر عددی را حدس می‌زند.
  • برنامه بررسی می‌کند حدس درست است یا نه.
  • اگر درست باشد بازی تمام می‌شود.
  • در غیر این صورت کاربر دوباره حدس می‌زند.

بهبود بازی (پیشنهاد برای تمرین)

اگر می‌خواهید مهارت خود را بیشتر کنید می‌توانید قابلیت‌های زیر را به بازی اضافه کنید:

محدود کردن تعداد حدس‌ها

مثلاً کاربر فقط 10 فرصت برای حدس زدن داشته باشد.

نمایش تعداد تلاش‌ها

برنامه می‌تواند تعداد دفعاتی که کاربر حدس زده است را نمایش دهد.

انتخاب سطح سختی

مثلاً:

  • آسان: عدد بین 1 تا 50
  • متوسط: عدد بین 1 تا 100
  • سخت: عدد بین 1 تا 500

این تغییرات باعث می‌شود پروژه شما حرفه‌ای‌تر شود. اگر دنبال یک دوره کامل برای یادگیری پایتون هستین دوره کامل پایتون را بررسی کنید.


سخنان پایانی

ساخت بازی حدس عدد با پایتون یکی از ساده‌ترین و در عین حال مفیدترین پروژه‌ها برای برنامه‌نویسان مبتدی است. این پروژه کمک می‌کند مفاهیم مهمی مثل شرط‌ها، حلقه‌ها و دریافت ورودی از کاربر را در عمل یاد بگیرید.

اگر تازه شروع به یادگیری پایتون کرده‌اید، پیشنهاد می‌شود بعد از این پروژه سراغ پروژه‌های ساده دیگری مثل موارد زیر بروید:

  • ساخت ماشین حساب با پایتون
  • ساخت بازی سنگ کاغذ قیچی
  • ساخت برنامه مدیریت لیست کارها

این پروژه‌های کوچک به مرور زمان باعث می‌شوند مهارت برنامه‌نویسی شما به شکل قابل توجهی رشد کند.