python編寫一個猜拳游戲程序


需求:

一、

1. 開始新游戲
2. 退出
開頭有次兩個選項,按 1 則開始新游戲,按 2則退出

二、

每局三個回合后退出,三個回合后未能分出勝負,讓用戶選擇是否繼續游戲。

代碼如下:

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 # @Time    : 2017-08-26 22:09
 4 # @Author  : Aixce
 5 # @Email   : aixce@outlook.com
 6 # @File    : stj.py
 7 # @Software: PyCharm
 8 import random   #隨機數模塊
 9 
10 num = 3
11 d = 0
12 p = 0
13 n = 0
14 
15 dict1 = {
16     1:"剪刀",
17     2:"石頭",
18     3:"",
19 }
20 print("--------- By.Aixce 猜拳小游戲 ---------")
21 print ("*********************")
22 print ("1. 開始新游戲")
23 print ("2. 退出")
24 print ("*********************")
25 change = input("請選擇:")
26 if change == '1':
27     while num > 0:
28         rand = random.randint(1, 3)  # 取隨機數
29         while True:
30             i = input('請輸入手勢[剪刀、石頭、布]:')
31             k = i.strip()   #移除前后空格
32             if k in dict1.values():   #判斷用戶輸入的值是否在字典中
33                 break
34             else:
35                 print("Error:“%s”是一個錯誤手勢"%(i))
36 
37         if rand == 1:
38             if k == "剪刀":
39                 result = ("平局")
40                 p += 1
41             elif k == "石頭":
42                 result = ("恭喜!你贏了。")
43                 n += 1
44 
45             else:
46                 result = ("電腦勝")
47                 d += 1
48 
49         elif rand == 2:
50             if k == "剪刀":
51                 result = ("電腦勝")
52                 d += 1
53             elif k == "石頭":
54                 result = ("平局")
55                 p += 1
56             else:
57                 result = ("恭喜!你贏了。")
58                 n += 1
59         else:
60             if k == "剪刀":
61                 result = ("恭喜!你贏了。")
62                 n += 1
63             elif k == "石頭":
64                 result = ("電腦勝")
65                 d += 1
66             else:
67                 result = ("平局")
68                 p += 1
69 
70         print("電腦出的是:%s\n你出的是:%s\n結果是:%s"%(dict1[rand],k,result))
71         num -= 1
72         g = d + p + n
73         if num == 0:
74             print("本次猜拳的結果是:(平局:%s局、獲勝:%s局、失敗:%s局)"%(p,n,d))
75             if n > d:
76                 print("經過%s個回合你贏了。"%(g))
77             elif n < d:
78                 print("經過%s個回合電腦勝。"%(g))
79             else:
80                 j = input("經過%s回合后未能分出勝負是否繼續[y/n]:"%(g))
81                 if j == "y" or j == "Y" or j == "":
82                    num = 3
83     else:
84         exit()
85 print("游戲結束.")

執行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM