ساخت بازی سنگ کاغذ قیچی با پایتون
سنگ کاغذ قیچی، یک بازی ساده و سرگرمکننده است که میتوانیم با استفاده از زبان برنامهنویسی پایتون آن را بسازیم. در این مقاله، ما به صورت گامبهگام نحوه ساخت این بازی را یاد خواهیم گرفت.
گام اول: آشنایی با مفاهیم پایه
قبل از شروع ساخت بازی، باید با برخی مفاهیم پایه در پایتون آشنا شویم. یکی از مفاهیم مهم، متغیرها هستند. متغیرها محل ذخیرهسازی مقادیر هستند که میتوانیم به آنها دسترسی داشته باشیم.
x = 5 # متغیر x برابر با 5
y = "سلام" # متغیر y برابر با "سلام"
گام دوم: انتخاب حرکت کاربر
برای ساخت بازی سنگ کاغذ قیچی، ابتدا باید حرکت کاربر را دریافت کنیم. میتوانیم از تابع `input()` برای دریافت ورودی کاربر استفاده کنیم.
user_move = input("آیا سنگ، کاغذ یا قیچی را انتخاب میکنید؟ ")
اما برای سادهتر کردن بازی، میتوانیم به کاربر بگوییم که حرکت خود را با عدد مشخص کند. مثلاً سنگ را با 1، کاغذ را با 2 و قیچی را با 3 مشخص کند.
print("1. سنگ")
print("2. کاغذ")
print("3. قیچی")
user_move = int(input("انتخابات را بنویس: "))
گام سوم: تعیین حرکت کامپیوتر
برای تعیین حرکت کامپیوتر، میتوانیم از تابع `random.randint(a, b)` استفاده کنیم که یک عدد تصادفی بین `a` و `b` تولید میکند.
import random
computer_move = random.randint(1, 3)
گام چهارم: مقایسه حرکات و تعیین برنده
حالا باید حرکات کاربر و کامپیوتر را مقایسه کنیم و تعیین کنیم که چه کسی برنده است.
- اگر حرکت کاربر و کامپیوتر یکی باشد، بازی مساوی است.
- اگر کاربر سنگ و کامپیوتر قیچی را انتخاب کند، کاربر برنده است.
- اگر کاربر کاغذ و کامپیوتر سنگ را انتخاب کند، کاربر برنده است.
- اگر کاربر قیچی و کامپیوتر کاغذ را انتخاب کند، کاربر برنده است.
- در غیر این صورت، کامپیوتر برنده است.
if user_move == computer_move:
print("بازی مساوی است.")
elif (user_move == 1 and computer_move == 3) or (user_move == 2 and computer_move == 1) or (user_move == 3 and computer_move == 2):
print("شما برنده شدید!")
else:
print("کامپیوتر برنده شد!")
گام پنجم: تکمیل کد بازی
حالا میتوانیم کد کامل بازی را بنویسیم.
import random
print("1. سنگ")
print("2. کاغذ")
print("3. قیچی")
user_move = int(input("انتخابات را بنویس: "))
computer_move = random.randint(1, 3)
if user_move == 1:
print("شما سنگ را انتخاب کردید.")
elif user_move == 2:
print("شما کاغذ را انتخاب کردید.")
else:
print("شما قیچی را انتخاب کردید.")
if computer_move == 1:
print("کامپیوتر سنگ را انتخاب کرد.")
elif computer_move == 2:
print("کامپیوتر کاغذ را انتخاب کرد.")
else:
print("کامپیوتر قیچی را انتخاب کرد.")
if user_move == computer_move:
print("بازی مساوی است.")
elif (user_move == 1 and computer_move == 3) or (user_move == 2 and computer_move == 1) or (user_move == 3 and computer_move == 2):
print("شما برنده شدید!")
else:
print("کامپیوتر برنده شد!")
برنامهریزی برای بهبود بازی
اکنون که بازی سنگ کاغذ قیچی را ساختهایم، میتوانیم برای بهبود آن برنامهریزی کنیم. مثلاً میتوانیم به کاربر اجازه دهیم که دوباره بازی کند یا امتیازبندی را اضافه کنیم.
امتیازبندی
میتوانیم امتیاز کاربر و کامپیوتر را نگه داریم و در پایان بازی، امتیاز نهایی را نمایش دهیم.
import random
user_score = 0
computer_score = 0
while True:
print("1. سنگ")
print("2. کاغذ")
print("3. قیچی")
user_move = int(input("انتخابات را بنویس: "))
computer_move = random.randint(1, 3)
if user_move == 1:
print("شما سنگ را انتخاب کردید.")
elif user_move == 2:
print("شما کاغذ را انتخاب کردید.")
else:
print("شما قیچی را انتخاب کردید.")
if computer_move == 1:
print("کامپیوتر سنگ را انتخاب کرد.")
elif computer_move == 2:
print("کامپیوتر کاغذ را انتخاب کرد.")
else:
print("کامپیوتر قیچی را انتخاب کرد.")
if user_move == computer_move:
print("بازی مساوی است.")
elif (user_move == 1 and computer_move == 3) or (user_move == 2 and computer_move == 1) or (user_move == 3 and computer_move == 2):
print("شما برنده شدید!")
user_score += 1
else:
print("کامپیوتر برنده شد!")
computer_score += 1
print(f"امتیاز شما: {user_score}")
print(f"امتیاز کامپیوتر: {computer_score}")
play_again = input("آیا میخواهید دوباره بازی کنید؟ (بله/خیر): ")
if play_again.lower() != "بله":
break
نتیجه
ساخت بازی سنگ کاغذ قیچی با پایتون میتواند تجربهی خوبی برای یادگیری مفاهیم برنامهنویسی باشد. با افزودن ویژگیهای جدید مانند امتیازبندی و امکان بازی دوباره، میتوانیم بازی را جذابتر کنیم.
یادگیری برنامهنویسی میتواند سرگرمکننده و هیجانانگیز باشد، پس به یادگیری خود ادامه دهید!
تمرین
- بازی سنگ کاغذ قیچی را با گرافیکی جذابتر طراحی کنید.
- به بازی امکانات دیگری مانند نمایش تاریخچه بازیها را اضافه کنید.
منابع
- سایت رسمی پایتون: https://www.python.org/
- مستندات پایتون: https://docs.python.org/3/