這篇文章將為大家詳細講解有關python如何實現(xiàn)人機猜拳小游戲,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

石頭剪刀布游戲代碼的簡介:關于石頭剪刀布這個小游戲,大致得到思路就是,玩家出一個手勢,然后電腦再隨機出一個手勢,最后再判斷是玩家獲勝還是電腦獲勝。最簡單的思路就是將這三個手勢是三個代號來表示,然后再去判斷代號之間的關系,最后輸出勝方。
最一般情況下,最先想到的就是使用1、2、3數(shù)字來對三個手勢進行代號化,然后再通過代號的大小去判斷,如下是對這個方式的簡述:
石頭 代號 用1來表示
剪刀 代號 用2來表示
布 代號 用3來表示
石頭 > 剪刀
剪刀 > 布
布 > 石頭
站在玩家的角度考慮玩家勝利的情況(分析電腦勝利也是一樣的):如果玩家出的是石頭,只有電腦出剪刀時玩家才可以勝利,石頭代號為1 ,剪刀代號為2,石頭代號<剪刀代號,同時石頭代號也<布的代號;如果玩家出的是剪刀,只有電腦出布時玩家才可以勝利,剪刀代號為2 ,布代號為3,剪刀代號<布代號;如果玩家出的是布,只有電腦出石頭是玩家才可以勝利,布的代號為3,石頭代號為1,布的代號>石頭的代號。由這三條分析可以看出,單純用這三個數(shù)字來比較大小的方式(即玩家手勢代號大于或者小于電腦手勢代號的方式)比較復雜。
1. 本代碼思路,使用三種分類方式:玩家贏,平局,玩家輸 來進行三種判斷,當玩家出石頭(1)并且電腦出剪刀(2)或者玩家出剪刀(2)并且電腦出布(3)或者玩家出布(3)并且電腦出石頭(1)這三種情況時,玩家贏;當玩家和電腦的手勢代號一致時,平局;其他情況玩家輸。
代碼如下:
import random #導包
print("********歡迎來到猜拳小游戲********")
while True:
key = int(input("請輸入您的出拳選項:1,剪刀。2,石頭。3,布:")) #從鍵盤上得到手勢代號
while (key not in [1, 2, 3]): #判斷當輸入的手勢代號是否符合要求,不符合要求時,重新輸入
print("您的輸入有誤,請重新輸入")
key = int(input("請輸入您的出拳選項:1,剪刀。2,石頭。3,布:"))
com_key=random.randint(1,3) #利用隨機函數(shù)隨機生成1到3之間的整數(shù)
if (key==1 and com_key==2) or (key==2 and com_key==3) or (key==3 and com_key==1):
print("恭喜你啦,你贏了呦,加油!!!")
elif key==com_key:
print("此局是平局")
else:
print("真是遺憾呢,你輸了。。。。")
n=input("請輸入n結束游戲或者輸入其他字符繼續(xù)游戲:")
if n=="n":
break
print("游戲結束")運行結果如下:
********歡迎來到猜拳小游戲******** 請輸入您的出拳選項:1,剪刀。2,石頭。3,布:1 此局是平局 請輸入n結束游戲或者輸入其他字符繼續(xù)游戲:2 請輸入您的出拳選項:1,剪刀。2,石頭。3,布:2 恭喜你啦,你贏了呦,加油!!! 請輸入n結束游戲或者輸入其他字符繼續(xù)游戲:2 請輸入您的出拳選項:1,剪刀。2,石頭。3,布:3 恭喜你啦,你贏了呦,加油!!! 請輸入n結束游戲或者輸入其他字符繼續(xù)游戲:n 游戲結束
2. 人機猜拳小游戲升級版:
此版本多出來的功能為,可以為自己起用戶名,并選擇電腦玩家,計算玩家贏和電腦贏以及游戲總次數(shù)。
import random
print("* "*10+"人機猜拳"+"* "*10)
name=input("請輸入昵稱:")
hero_key=input("請選擇英雄:1,劉備。2,李白。3,安琪拉")
if hero_key=="1":
hero_name="劉備"
print("劉備是個戰(zhàn)士")
elif hero_key=="2":
hero_name="李白"
print("李白適合打野")
else:
hero_name="安琪拉"
print("安琪拉是個法師")
sum=0
# 統(tǒng)計人贏的和電腦贏的次數(shù)
per_win=0
com_win=0
while True:
sum=sum+1
key=int(input("請輸入出拳選項:1,剪刀。2,石頭。3,布:"))
while (key not in [1,2,3]):
print("輸入有誤請重新輸入")
key = int(input("請輸入出拳選項:1,剪刀。2,石頭。3,布:"))
if key==1:
print("%s出了剪刀"%name)
elif key ==2:
print("%s出了石頭"%name)
else:
print("%s出了布"%name)
com_key=random.randint(1,3)
if com_key==1:
print("%s出了剪刀"%hero_name)
elif com_key ==2:
print("%s出了石頭"%hero_name)
else:
print("%s出了布"%hero_name)
# 判斷結果
if key==1 and com_key==3 or key ==2 and com_key==1 or key ==3 and com_key==2 :
print("本局結果:你贏了")
per_win=per_win+1
elif key==com_key:
print("本局結果:打平了")
else:
print("本局結果:你輸了,呵呵")
com_win+=1
n=input("輸入n結束游戲輸入其他鍵繼續(xù)")
if n=="n":
break
print("游戲結束")
print("* "*10+"最終結果"+"* "*10)
print("本次游戲一共進行%d局其中%s贏%d局%s贏%d局最終結果:"%(sum,name,per_win,hero_name,com_win))
if per_win>com_win:
print("大吉大利今晚吃雞")
elif per_win==com_win:
print("平局:擇日再戰(zhàn)")
else:
print("你還是輸了,真菜,呵呵。。。")運行結果如下:
* * * * * * * * * * 人機猜拳* * * * * * * * * * 請輸入昵稱:魚丸 請選擇英雄:1,劉備。2,李白。3,安琪拉1 劉備是個戰(zhàn)士 請輸入出拳選項:1,剪刀。2,石頭。3,布:2 魚丸出了石頭 劉備出了石頭 本局結果:打平了 輸入n結束游戲輸入其他鍵繼續(xù)c 請輸入出拳選項:1,剪刀。2,石頭。3,布:2 魚丸出了石頭 劉備出了石頭 本局結果:打平了 輸入n結束游戲輸入其他鍵繼續(xù)w 請輸入出拳選項:1,剪刀。2,石頭。3,布:3 魚丸出了布 劉備出了石頭 本局結果:你贏了 輸入n結束游戲輸入其他鍵繼續(xù)n 游戲結束 * * * * * * * * * * 最終結果* * * * * * * * * * 本次游戲一共進行3局其中魚丸贏1局劉備贏0局最終結果: 大吉大利今晚吃雞
關于“python如何實現(xiàn)人機猜拳小游戲”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
分享名稱:python如何實現(xiàn)人機猜拳小游戲-創(chuàng)新互聯(lián)
鏈接地址:http://chinadenli.net/article14/cdoege.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站設計、全網營銷推廣、Google、手機網站建設、品牌網站建設、服務器托管
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)