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

۳۷۵۴ بازدید
آخرین به‌روزرسانی: ۲۷ اردیبهشت ۱۴۰۲
زمان مطالعه: ۳ دقیقه
ساخت بازی سنگ کاغذ قیچی در پایتون — راهنمای کاربردی

«زبان برنامه‌نویسی پایتون» (Python Programming Language) یک زبان برنامه‌نویسی همه‌منظوره است که می‌توان با استفاده از آن، کارهای گوناگون از برنامه‌نویسی وب گرفته تا محاسبات و پردازش‌های علمی را انجام داد. نوشتن بازی یکی از انواع کارهایی است که می‌توان با استفاده از این زبان انجام داد. افراد علاقه‌مند به بازی‌نویسی، می‌توانند کار را از نوشتن بازی‌های ساده‌تر و کوچک‌تر آغاز کنند. بازی محبوب سنگ، کاغذ، قیچی یکی از این بازی‌ها است. در ادامه، نحوه ساخت بازی سنگ کاغذ قیچی در پایتون آموزش داده می‌شود. در قطعه کدی که در ادامه ارائه می‌شود، از هیچ کتابخانه بازی خارجی از جمله PyGame استفاده نخواهد شد.

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

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

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

  • سنگ در مقایسه با کاغذ -> کاغذ برنده می‌شود.
  • سنگ در مقایسه با قیچی -> سنگ برنده می‌شود.
  • کاغذ در مقایسه با قیچی -> قیچی برنده می‌شود.

برای ساخت بازی سنگ کاغذ قیچی در پایتون از تابع توکار randint()‎ برای تولید مقدار صحیح تصادفی در یک طیف داده شده، استفاده می‌شود. در ادامه، کد پیاده‌سازی این بازی در پایتون، ارائه شده است.

1# import random module 
2import random 
3  
4# Print multiline instruction 
5# performstring concatenation of string 
6print("Winning Rules of the Rock paper scissor game as follows: \n"
7                                +"Rock vs paper->paper wins \n"
8                                + "Rock vs scissor->Rock wins \n"
9                                +"paper vs scissor->scissor wins \n") 
10  
11while True: 
12    print("Enter choice \n 1. Rock \n 2. paper \n 3. scissor \n") 
13      
14    # take the input from user 
15    choice = int(input("User turn: ")) 
16  
17    # OR is the short-circuit operator 
18    # if any one of the condition is true 
19    # then it return True value 
20      
21    # looping until user enter invalid input 
22    while choice > 3 or choice < 1: 
23        choice = int(input("enter valid input: ")) 
24          
25  
26    # initialize value of choice_name variable 
27    # corresponding to the choice value 
28    if choice == 1: 
29        choice_name = 'Rock'
30    elif choice == 2: 
31        choice_name = 'paper'
32    else: 
33        choice_name = 'scissor'
34          
35    # print user choice  
36    print("user choice is: " + choice_name) 
37    print("\nNow its computer turn.......") 
38  
39    # Computer chooses randomly any number  
40    # among 1 , 2 and 3. Using randint method 
41    # of random module 
42    comp_choice = random.randint(1, 3) 
43      
44    # looping until comp_choice value  
45    # is equal to the choice value 
46    while comp_choice == choice: 
47        comp_choice = random.randint(1, 3) 
48  
49    # initialize value of comp_choice_name  
50    # variable corresponding to the choice value 
51    if comp_choice == 1: 
52        comp_choice_name = 'Rock'
53    elif comp_choice == 2: 
54        comp_choice_name = 'paper'
55    else: 
56        comp_choice_name = 'scissor'
57          
58    print("Computer choice is: " + comp_choice_name) 
59  
60    print(choice_name + " V/s " + comp_choice_name) 
61  
62    # condition for winning 
63    if((choice == 1 and comp_choice == 2) or
64      (choice == 2 and comp_choice ==1 )): 
65        print("paper wins => ", end = "") 
66        result = "paper"
67          
68    elif((choice == 1 and comp_choice == 3) or
69        (choice == 3 and comp_choice == 1)): 
70        print("Rock wins =>", end = "") 
71        result = "Rock"
72    else: 
73        print("scissor wins =>", end = "") 
74        result = "scissor"
75  
76    # Printing either user or computer wins 
77    if result == choice_name: 
78        print("<== User wins ==>") 
79    else: 
80        print("<== Computer wins ==>") 
81          
82    print("Do you want to play again? (Y/N)") 
83    ans = input() 
84  
85  
86    # if user input n or N then condition is True 
87    if ans == 'n' or ans == 'N': 
88        break
89      
90# after coming out of the while loop 
91# we print thanks for playing 
92print("\nThanks for playing")

خروجی قطعه کد بالا، به صورت زیر است.

winning Rules of the Rock paper and scissor game as follows:
rock vs paper->paper wins 
rock vs scissors->rock wins 
paper vs scissors->scissors wins 

Enter choice 
 1. Rock 
 2. paper 
 3. scissor 

User turn: 1
User choice is: Rock

Now its computer turn.......

computer choice is: paper
Rock V/s paper
paper wins =>computer wins
do you want to play again?
N

اگر نوشته بالا برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

^^

بر اساس رای ۲۲ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
Programiz
۴ دیدگاه برای «ساخت بازی سنگ کاغذ قیچی در پایتون — راهنمای کاربردی»

سلام.من همه کد ها رو زدم ولی نمیدنم چرا برای random.randint ارور میده

سلام ، میشه سورس نسخه گرافیکی این بازی هم بزارین ؟

سلام
من این کد هارو توی نرم افزار پایتون نسخه ۳ وارد کردم ولی نمی دونم چرا برای دستور های elif و if خطای سینتکس رو میداد

سلام
به اختمال زیاد فاصله ها به خوبی رعایت نشده

نظر شما چیست؟

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