ساخت بازی جدول ضرب با پایتون [آموزش گام‌به‌گام]

ساخت بازی جدول ضرب با پایتون

در این مقاله چه میخوانیم؟

مقدمه: سفری جذاب به دنیای بازی‌سازی با پایتون

بچه‌ها، بیاید یک لحظه تصور کنیم می‌خواهید هم برنامه‌نویسی یاد بگیرید، هم ریاضی‌تان را تقویت کنید و در کنارش یک بازی سرگرم‌کننده بسازید. این عالی نیست؟ خب، امروز قرار است با هم یک بازی ساده و کاربردی بسازیم: ساخت بازی جدول ضرب با پایتون [آموزش گام‌به‌گام]!

این بازی به شما کمک می‌کند مهارت‌های پایه‌ای پایتون مثل شرط‌ها، حلقه‌ها، و ورودی/خروجی را تمرین کنید. تصور کنید که در حال ساخت چیزی هستید که نه تنها یادگیری شما را تقویت می‌کند، بلکه می‌توانید آن را به دوستان یا خانواده‌تان هم نشان دهید و از بازی کردن با آن لذت ببرید. پس آماده‌اید؟ لپ‌تاپ را روشن کنید و بیایید با هم این بازی را خلق کنیم!

 

پیش‌ نیازهای ساخت بازی جدول ضرب با پایتون

  1. مفاهیم پایه پایتون: متغیرها، شرط‌ها (if-else) و حلقه‌ها (for و while).
  2. نصب پایتون: نصب پایتون بر روی سیستم.
  3. ویرایشگر متن: استفاده از نرم‌افزارهایی مثل Visual Studio Code یا PyCharm پیشنهاد می‌شود.

ساخت بازی با پایتون

 

مراحل پیاده‌سازی بازی جدول ضرب با پایتون

۱: خوشامدگویی به کاربر

print("به بازی جدول ضرب خوش آمدید!")
print("در این بازی، از شما سوالاتی در مورد ضرب دو عدد پرسیده می‌شود.")
print("سعی کنید به تمام سوالات درست جواب دهید!")


۲: تولید سوالات تصادفی

import random

num1 = random.randint(1, 10)
num2 = random.randint(1, 10)


۳: گرفتن پاسخ از کاربر

answer = int(input(f"{num1} × {num2} = ؟ "))


۴: بررسی پاسخ

if answer == num1 * num2:
    print("آفرین! جواب درست است.")
else:
    print(f"متاسفانه جواب اشتباه است. جواب درست: {num1 * num2}")


۵: اضافه کردن حلقه برای چند سوال

score = 0

for i in range(5):
    num1 = random.randint(1, 10)
    num2 = random.randint(1, 10)
    answer = int(input(f"{num1} × {num2} = ؟ "))
    
    if answer == num1 * num2:
        print("آفرین! جواب درست است.")
        score += 1
    else:
        print(f"متاسفانه جواب اشتباه است. جواب درست: {num1 * num2}")

print(f"امتیاز نهایی شما: {score} از ۵")


سوالات متداول (FAQ)

۱. اگر برنامه اجرا نشد، چه کنم؟
ابتدا مطمئن شوید که پایتون روی سیستم شما نصب است. سپس کد را در یک ویرایشگر مناسب کپی کرده و اجرا کنید.

۲. چطور اعداد بزرگ‌تر اضافه کنم؟
در خط تولید اعداد تصادفی، بازه randint را تغییر دهید:

num1 = random.randint(1, 50)
num2 = random.randint(1, 50)


۳. چرا کد من خطا می‌دهد؟

مطمئن شوید که تمام پرانتزها و سینتکس به درستی نوشته شده‌اند.

توضیح بیشتر درباره گسترش‌ بازی

سطح دشواری

کاربر می‌تواند با انتخاب، سوالات آسان یا سخت را تجربه کند:

level = input("سطح آسان (easy) یا سخت (hard): ").lower()
if level == "easy":
    num1, num2 = random.randint(1, 5), random.randint(1, 5)
else:
    num1, num2 = random.randint(1, 20), random.randint(1, 20)


ذخیره امتیاز در فایل

امتیازات کاربر را در فایل متنی ذخیره کنید:

with open("scores.txt", "a") as file:
    file.write(f"امتیاز شما: {score}\n")


ارائه چالش برای کاربر

  1. چالش زمانی: محدود کردن زمان پاسخ‌دهی به ۱۰ ثانیه.
  2. اضافه کردن حالت چند نفره: بازی را برای دو نفر طراحی کنید و امتیازات را جداگانه ذخیره کنید.
  3. پرسش سوالات ترکیبی: استفاده از عملیات‌های جمع، تفریق و ضرب.


ارائه کد نهایی
بازی جدول ضرب

import random

score = 0
print("به بازی جدول ضرب خوش آمدید!")

for i in range(5):
    num1 = random.randint(1, 10)
    num2 = random.randint(1, 10)
    answer = int(input(f"{num1} × {num2} = ؟ "))
    
    if answer == num1 * num2:
        print("آفرین! جواب درست است.")
        score += 1
    else:
        print(f"متاسفانه جواب اشتباه است. جواب درست: {num1 * num2}")

print(f"امتیاز نهایی شما: {score} از ۵")


نکات آموزشی کد ها

  1. random.randint: تولید اعداد تصادفی بین دو عدد.
  2. حلقه for: اجرای یک فرآیند برای تعداد دفعات مشخص.
  3. if-else: بررسی شرایط و تصمیم‌گیری.


چگونه بازی جدول ضرب خود را پیشرفته‌تر کنیم؟

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

  1. افزودن سطوح دشواری
  2. ذخیره امتیاز کاربران در فایل متنی
  3. ایجاد چالش زمانی
  4. حالت چند نفره

۱. افزودن سطوح دشواری

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

level = input("سطح آسان (easy) یا سخت (hard): ").lower()
if level == "easy":
    num1, num2 = random.randint(1, 5), random.randint(1, 5)
else:
    num1, num2 = random.randint(1, 20), random.randint(1, 20)

۲. ذخیره امتیاز کاربران در فایل متنی

نحوه ذخیره امتیازات کاربران برای بازی‌های آینده:

with open("scores.txt", "a") as file:
    file.write(f"امتیاز شما: {score}\n")

۳. ایجاد چالش زمانی

استفاده از کتابخانه time برای محدود کردن زمان پاسخ‌دهی کاربر:

import time
start_time = time.time()
answer = int(input(f"{num1} × {num2} = ؟ "))
if time.time() - start_time > 10:
    print("متاسفانه زمان شما تمام شد!")

۴. حالت چند نفره

افزودن قابلیت بازی چندنفره با ثبت امتیازات جداگانه:

players = int(input("چند نفر می‌خواهند بازی کنند؟ "))
scores = [0] * players
for p in range(players):
    print(f"نوبت بازیکن {p + 1}")
    for i in range(5):
        num1, num2 = random.randint(1, 10), random.randint(1, 10)
        answer = int(input(f"{num1} × {num2} = ؟ "))
        if answer == num1 * num2:
            scores[p] += 1
for p, score in enumerate(scores, start=1):
    print(f"امتیاز بازیکن {p}: {score}")

 

کد نهایی بازی جدول ضرب با ویژگی‌های جدید

import random
import time

# خوشامدگویی به کاربر
print("به بازی جدول ضرب خوش آمدید!")
print("در این بازی می‌توانید مهارت‌های خود را در ضرب آزمایش کنید.")
print("امتیاز نهایی خود را ذخیره کنید یا در حالت چند نفره با دوستان رقابت کنید!")

# انتخاب سطح دشواری
level = input("سطح آسان (easy) یا سخت (hard): ").lower()
if level == "easy":
    min_num, max_num = 1, 5
else:
    min_num, max_num = 1, 20

# پرسش تعداد بازیکنان
players = int(input("چند نفر می‌خواهند بازی کنند؟ "))
scores = [0] * players  # لیست امتیازات برای بازیکنان

# تعداد سوالات
num_questions = int(input("چند سوال در هر نوبت باشد؟ "))

# شروع بازی
for p in range(players):
    print(f"\nنوبت بازیکن {p + 1}")
    for i in range(num_questions):
        # تولید اعداد تصادفی بر اساس سطح دشواری
        num1 = random.randint(min_num, max_num)
        num2 = random.randint(min_num, max_num)

        # محدود کردن زمان پاسخ
        start_time = time.time()
        try:
            answer = int(input(f"{num1} × {num2} = ؟ "))
            if time.time() - start_time > 10:  # بررسی زمان پاسخ
                print("متاسفانه زمان شما تمام شد!")
                continue
        except ValueError:
            print("لطفاً عدد وارد کنید!")
            continue

        # بررسی پاسخ
        if answer == num1 * num2:
            print("آفرین! جواب درست است.")
            scores[p] += 1  # افزایش امتیاز بازیکن
        else:
            print(f"متاسفانه جواب اشتباه است. جواب درست: {num1 * num2}")

# نمایش امتیازات نهایی
print("\nنتایج نهایی:")
for p, score in enumerate(scores, start=1):
    print(f"امتیاز بازیکن {p}: {score}")

# ذخیره امتیازات در فایل
save_scores = input("آیا می‌خواهید امتیازات ذخیره شود؟ (yes/no): ").lower()
if save_scores == "yes":
    with open("scores.txt", "a") as file:
        for p, score in enumerate(scores, start=1):
            file.write(f"بازیکن {p}: {score} از {num_questions}\n")
    print("امتیازات ذخیره شد!")

print("\nبازی تمام شد! امیدواریم لذت برده باشید. 😊")

توضیحات کد:

  1. انتخاب سطح دشواری:
    بازه تولید اعداد تصادفی بر اساس سطح آسان یا سخت تنظیم می‌شود.
  2. حالت چند نفره:
    امکان بازی چندنفره فراهم شده است و امتیازات بازیکنان در یک لیست ذخیره می‌شود.
  3. چالش زمانی:
    از کتابخانه time برای محدود کردن زمان پاسخ‌دهی به ۱۰ ثانیه استفاده شده است.
  4. ذخیره امتیازات:
    کاربران می‌توانند امتیازات خود را در فایل متنی ذخیره کنند.


جمع بندی

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

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

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

دنیای برنامه‌نویسی پر از فرصت‌های جذاب است و شما با شروعی مانند این پروژه می‌توانید وارد مسیر هیجان‌انگیز یادگیری و خلاقیت شوید. از یادگیری لذت ببرید و منتظر پروژه‌های آینده شما هستیم! 🚀✨

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

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