人機猜拳比賽
完成人機猜拳互動游戲的開發,用戶通過控制臺輸入實現出拳,電腦通過程序中的隨機數實現出拳,每一局結束后都要輸出結果。當用戶輸入n時停止游戲,并輸出總結果。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# 人和機器猜拳游戲
# 選擇角色1 曹操 2張飛 3 劉備
# 角色猜拳1剪刀 2石頭 3布 玩家輸入一個1-3的數字
# 電腦出拳 隨機產生1個1-3的數字,提示電腦出拳結果,本局對戰結果...贏...輸,是否繼續?y/n
# 輸出結果 角色贏幾局 電腦贏幾局,平局幾次 游戲結束
import random
# 寫法--------1
class ren():
def __init__(self):
print("-----------人機大戰-------------\n")
name = ""
while 1:
js = input("輸入要選擇的角色:\n\n1---曹操 2---張飛 3---關羽")
if js.isdigit():
js = int(js)
if js == 1:
print("玩家角色為---曹操")
self.name = "曹操"
break
elif js == 2:
print("玩家角色為---張飛")
self.name = "張飛"
break
elif js == 3:
print("玩家角色為---關羽")
self.name = "關羽"
break
else:
print("角色選擇錯誤,請從新選擇----\n")
else:
print("輸入角色有誤!請從新輸入----\n")
def caiquan(self):
while 1:
quan = input("請輸入要出拳的選項:\n1----石頭 2----剪刀 3----布")
if quan.isdigit():
quan = int(quan)
if quan == 1:
print("玩家選擇出----石頭", )
break
elif quan == 2:
print("玩家選擇出----剪刀")
break
elif quan == 3:
print("玩家選擇出---- 布")
break
else:
print("選擇錯誤!請從新選擇!\n")
else:
print("輸入數字不正確!請重新輸入------\n")
return quan
class dian():
diannao = "電腦"
def suiji(self):
suijishu = random.randint(1, 3)
if suijishu == 1:
print("電腦選擇出----石頭")
elif suijishu == 2:
print("電腦選擇出----剪刀")
else:
print("電腦選擇出---- 布")
return suijishu
class zhixuan():
chuquan1 = 0
chuquan2 = 0
chuquan3 = 0
def __init__(self):
renduixiang = ren() # ren類 對象
diannaoduixiang = dian() # dian類 對象
while 1:
caiquanjieguo = renduixiang.caiquan()
diannaojieguo = diannaoduixiang.suiji()
if caiquanjieguo == 1 and diannaojieguo == 2 or \
caiquanjieguo == 2 and diannaojieguo == 3 or \
caiquanjieguo == 3 and diannaojieguo == 1:
print("----------玩家贏!")
self.chuquan1 += 1
elif caiquanjieguo == diannaojieguo:
print("----------平局!")
self.chuquan3 += 1
else:
print("----------電腦贏!")
self.chuquan2 += 1
if input("是否繼續游戲:yes or no ?\n任意鍵------n\n").lower() == "n":
break
if self.chuquan1 > self.chuquan2:
wanjiaying = "玩家勝利!"
elif self.chuquan1 == self.chuquan2:
wanjiaying = "平---局"
else:
wanjiaying = "電腦勝利"
print("-----------------人機大戰----------------\n游戲結束 :\n"
"玩家共贏{0}次---電腦共贏{1}次---平局次數{2}次\n————總結果為 : {3}" \
.format(self.chuquan1, self.chuquan2, self.chuquan3, wanjiaying))
duixiang1 = zhixuan() # 生成的對象 未保存到變量中
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

