人機猜拳比賽
完成人機猜拳互動游戲的開發,用戶通過控制臺輸入實現出拳,電腦通過程序中的隨機數實現出拳,每一局結束后都要輸出結果。當用戶輸入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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
