You are currently viewing آموزش ساخت بازی سنگ کاغذ قیچی با پایتون

سلام به دوستان عزیزم ❤️

تو دوران بچگیمون به بهونه های زیادی سنگ کاغذ قیچی بازی می‌کردیم. مثلا وقتی به توافق نمی‌رسیدیم که تو بازی کی جز کدوم تیم باشه با این بازی به یه نتیجه ای میرسیدیم یا مثلا اول چه تیمی با چه تیمی بازی کنه 😁

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

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

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


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

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

import random

# choices in game. r=rock, p=paper, s=scissors
choices = ['r', 'p', 's']

# get user input
userChoice = input('Choose your weapon [r]ock, [p]aper, or [s]cissors: ')

if userChoice not in choices:
    print('Invalid input')
    exit()

# get random item from array
aiChoice = random.choice(choices)

print("You chose: " + userChoice)
print("AI chose: " + aiChoice)

# check winner
if userChoice == aiChoice:
    print('Equal!')

elif userChoice == 's' and aiChoice == 'r':
    print('AI Win! Scissors beats rock')

elif userChoice == 'p' and aiChoice == 's':
    print('AI Win! Scissors beats paper')

elif userChoice == 'r' and aiChoice == 'p':
    print('AI Win! Paper beat rock')

else:
    print('You WIN! :)')

کاری که من انجام دادم اینه که اول کتابخونه random رو import کردم تا به کمک این کتابخونه، هوش مصنوعی بازیم بتونه از بین سنگ، کاغذ و قیچی یکی رو انتخاب کنه.

بعد انتخاب خودمو پرسیدم و انتخاب AI یا هوش مصنوعی روهم به کمک کتابخونه random بدست آوردم.

حالا می‌رسیم به اینکه برنده بازی رو مشخص کنیم که خیلی کار ساده‌ای هست. از آسون ترینش شروع می‌کنیم که حالت مساوی هست. اگه انتخاب ما و AI مثل هم بود، برابر میشیم.

حالت بعدی اینه که AI بازی رو ببره. 3 روش وجود داره که این اتفاق بیفته:

  • ما قیچی انتخاب کنیم و اون سنگ
  • ما کاغذ انتخاب کنیم و اون قیچی
  • ما سنگ انتخاب کنیم و اون کاغذ

اگه یکی از حالت های بالا پیش بیاد، AI بازی رو برده، اگر هیچ کدوم از حالت های بالا نبود، یعنی ما بازی رو بردیم 😀 به همین راحتی می‌تونیم این بازی رو بنویسیم و نیازی نیست تمام حالت های ممکن رو پوشش بدیم. همین که بدونیم AI بازی رو نبرده، پس ما برنده شدیم. به همین راحتی. حالا می‌تونیم بازی که خودمون نوشتیم رو بازی کنیم و کلی لذت ببریم. واقعا حال میده بازی که خودمون نوشتیم رو بازی کنیم 😍


تمرین 1:

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


تمرین 2:

بازی رو از حالت 1 نفره به حالت 2 نفره تغییر بدین. درواقع هوش مصنوعی رو حذف کنین. اینجوری می‌تونین با دوستاتون هم بازی کنین 😀

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