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

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

بازی حدس عدد یک پروژه برنامه‌نویسی کلاسیک و در عین حال بسیار مفید است که به شما کمک می‌کند تا مفاهیم اساسی برنامه‌نویسی را در پایتون به خوبی درک کنید. این پروژه در دسته ‘پروژه‌های خلاقانه و کاربردی’ قرار می‌گیرد، زیرا علاوه بر سرگرم‌کننده بودن، مهارت‌های حل مسئله و منطق برنامه‌نویسی شما را نیز تقویت می‌کند. در این مقاله، به صورت گام به گام و با جزئیات کامل، نحوه ساخت این بازی را با پایتون آموزش خواهیم داد.

پیش‌نیازها

قبل از شروع، مطمئن شوید که پایتون روی سیستم شما نصب شده است. همچنین، داشتن یک ویرایشگر متن یا IDE (مانند VS Code، PyCharm یا Sublime Text) برای نوشتن و اجرای کد ضروری است. دانش اولیه‌ای از متغیرها، عملگرها، دستورات شرطی (if/else) و حلقه‌ها (while) در پایتون نیز مفید خواهد بود.

مراحل ساخت بازی

1. تولید عدد تصادفی

اولین قدم در ساخت بازی، تولید یک عدد تصادفی است که بازیکن باید آن را حدس بزند. برای این کار، از ماژول random در پایتون استفاده می‌کنیم. این ماژول توابعی برای تولید اعداد تصادفی با ویژگی‌های مختلف فراهم می‌کند. تابع randint(a, b) یک عدد صحیح تصادفی بین a و b (شامل خود a و b) تولید می‌کند.

import random

number = random.randint(1, 100)

در این کد، عدد تصادفی بین 1 و 100 تولید شده و در متغیر number ذخیره می‌شود.

2. دریافت حدس بازیکن

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

guess = int(input("حدس خود را وارد کنید: "))

در این کد، از بازیکن خواسته می‌شود تا حدس خود را وارد کند. حدس وارد شده به یک عدد صحیح تبدیل شده و در متغیر guess ذخیره می‌شود.

3. مقایسه حدس با عدد تصادفی

بعد از دریافت حدس بازیکن، باید آن را با عدد تصادفی مقایسه کنیم. از دستورات شرطی if/elif/else برای این کار استفاده می‌کنیم. اگر حدس بازیکن برابر با عدد تصادفی باشد، به او تبریک می‌گوییم و بازی را تمام می‌کنیم. اگر حدس بازیکن کمتر از عدد تصادفی باشد، به او می‌گوییم که حدسش خیلی کم است. و اگر حدس بازیکن بیشتر از عدد تصادفی باشد، به او می‌گوییم که حدسش خیلی زیاد است.

if guess == number:
    print("تبریک! شما درست حدس زدید.")
elif guess < number:
    print("حدس شما خیلی کم است.")
else:
    print("حدس شما خیلی زیاد است.")

4. ایجاد حلقه برای حدس‌های متعدد

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

import random

number = random.randint(1, 100)
guess = 0

while guess != number:
    guess = int(input("حدس خود را وارد کنید: "))
    if guess == number:
        print("تبریک! شما درست حدس زدید.")
    elif guess < number:
        print("حدس شما خیلی کم است.")
    else:
        print("حدس شما خیلی زیاد است.")

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

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

import random

number = random.randint(1, 100)
guess = 0
attempts = 7

while attempts > 0 and guess != number:
    guess = int(input("حدس خود را وارد کنید: "))
    attempts -= 1
    if guess == number:
        print("تبریک! شما درست حدس زدید.")
    elif guess < number:
        print("حدس شما خیلی کم است. شما", attempts, "فرصت باقی مانده دارید.")
    else:
        print("حدس شما خیلی زیاد است. شما", attempts, "فرصت باقی مانده دارید.")

if guess != number:
    print("متاسفم! شما فرصت خود را از دست دادید. عدد صحیح", number, "بود.")

6. بهبود رابط کاربری

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

import random

def play_game():
    number = random.randint(1, 100)
    guess = 0
    attempts = 7

    print("به بازی حدس عدد خوش آمدید!")
    print("من یک عدد بین 1 و 100 انتخاب کرده‌ام. شما باید آن را حدس بزنید.")

    while attempts > 0 and guess != number:
        try:
            guess = int(input("حدس خود را وارد کنید: "))
        except ValueError:
            print("لطفاً یک عدد صحیح وارد کنید.")
            continue

        attempts -= 1
        if guess == number:
            print("تبریک! شما درست حدس زدید.")
        elif guess < number:
            print("حدس شما خیلی کم است. شما", attempts, "فرصت باقی مانده دارید.")
        else:
            print("حدس شما خیلی زیاد است. شما", attempts, "فرصت باقی مانده دارید.")

    if guess != number:
        print("متاسفم! شما فرصت خود را از دست دادید. عدد صحیح", number, "بود.")

    play_again = input("آیا می‌خواهید دوباره بازی کنید؟ (y/n): ")
    if play_again.lower() == 'y':
        play_game()

play_game()

توضیحات تکمیلی

  • مدیریت خطا: در کد بالا، از بلوک try-except برای مدیریت خطای ValueError استفاده شده است. این خطا زمانی رخ می‌دهد که کاربر یک ورودی غیرمعتبر (مثلاً یک رشته به جای یک عدد) وارد کند.
  • تابع: کد بازی را در یک تابع به نام play_game() قرار داده‌ایم تا قابلیت استفاده مجدد آن را افزایش دهیم.
  • حساسیت به حروف بزرگ و کوچک: از تابع lower() برای تبدیل ورودی کاربر به حروف کوچک استفاده شده است تا بازی به حروف بزرگ و کوچک حساس نباشد.

نتیجه‌گیری

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

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *