Gameبرنامه نویسیپایتون

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

چگونه بازی سنگ کاغذ قیچی را در پایتون بسازیم؟

در این مقاله قصد داریم بازی سنگ کاغذ قیچی را با استفاده از تابع (function) زبان برنامه نویسی پایتون درست کنیم. بازی ما بر اساس قوانین بازی Rock Paper Scissors اصلی خواهد بود. ما از کاربر درخواست ورودی خواهیم کرد و سپس از کامپیوتر می خواهیم که به طور تصادفی از بین Rock ، Paper و Scissors یکی را انتخاب کند. سپس ورودی کاربر را با انتخاب رایانه مقایسه می کنیم و سپس از طریق مقایسه های شرطی، مشخص میکنیم که چه کسی برنده است.

کدهای اصلی برنامه

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

برای شروع اول باید ماژول random را فراخوانی کنیم.

import random

یک تابع میسازیم و اسم آن را check_win می گزاریم و دو پارامتر به آن میدهیم ، پارامتر user نشان دهنده ورودی ارائه شده توسط کاربر و پارامتر کامپیوتر نشان دهنده انتخابی است که توسط دستگاه ما انجام می شود.

در این تابع از دستور if استفاده می کنیم که از & و یا عملگر or برای یافتن برنده استفاده می کند. این عبارت برنده بودن یا نبودن کاربر را بررسی کند ، در صورت برنده شدن کاربر ، تابع خروجی را نشان نمی دهد.

def check_win(user, computer):
    if (user == 'r' and computer == 's') or (user == 's' and computer == 'p') or (user == 'p' and computer == 'r'):
        return True

در مرحله بعد ما تابعی به نام rock_paper_scissors () ایجاد کرده ایم. این تابع ، هسته اصلی بازی ما خواهد بود.

ابتدا ، ما از کاربر ورودی را دریافت می کنیم. در اینجا کاربر می تواند فقط از طریق  r ،  s یا p ورودی وارد کند که به ترتیب سنگ ، قیچی و کاغذ است. اکنون ورودی کاربر در متغیر player کننده ذخیره شده است.

def rock_paper_scissors():
    player = input("What is your choice - 'r' for rock, 's' for scissor, 'p' for paper: ")
    choices = ['r','s','p']

حال ما می خواهیم از تابع random.choice () برای انتخاب تصادفی یک عنصر واحد از میان لیست ها استفاده کنیم.

  کارهایی که دستور if انجام میدهد:

  • اولین if ، مقایسه بین ورودی player و opponent انجام می دهد تا اگر انتخاب کاربر و کامپیوتر یکسان بود ، بگوید که بازی مساوی شده است. در این حالت هیچ برنده ای وجود ندارد.
    if player == opponent:
        return print(f"Its a Tie! Choice is {opponent}")
  • در دستور if دوم ، ما برای تعیین برنده از تابع check_win () استفاده می کنیم. اگر بازیکن برنده شود ، check_win () یک True را برمی گرداند و کاربر به عنوان برنده معرفی می شود.
    if check_win(player, opponent):
        return print(f"Yay! you won! Choice is {opponent}")
  • دستور if سوم به همان صورت دستور if دوم عمل می کند ، تنها تفاوت در این است که اگر check_win () چیزی را بر نمی گرداند که در صورت کامپیوتر به عنوان برنده اعلام خواهد شد.
    if check_win(player, opponent) != True:
        return print(f"You lost! Choice is {opponent}")

و در آخر برای اجرا برنامه خود تابع rock_paper_scissors() را فراخوانی می کنیم.

rock_paper_scissors()

علی پازکی

علاقه مند به برنامه نویسی ، علم امنیت و همچنین مسائل علمی ? همیشه درحال یادگیری♾

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

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

دکمه بازگشت به بالا