python實(shí)現(xiàn)一個(gè)猜拳游戲
本文實(shí)例為大家分享了python實(shí)現(xiàn)一個(gè)猜拳游戲的具體代碼,供大家參考,具體內(nèi)容如下
設(shè)計(jì)一個(gè)猜拳的游戲,要求如下:
1、游戲開始時(shí),輸入玩家名字
2、可以選擇3個(gè)電腦對(duì)手(電腦名字自定)
3、游戲規(guī)則為:1、剪刀 2、石頭 3、布
4、游戲開始,玩家vs電腦,玩家選擇出一個(gè),電腦隨機(jī)1-3
5、具有局?jǐn)?shù)統(tǒng)計(jì)(如:現(xiàn)在是第幾局)、輸贏統(tǒng)計(jì)(玩家勝幾局,電腦勝幾局)
效果圖如下:

代碼如下:
import random #先導(dǎo)入隨機(jī)數(shù)
class game(): #創(chuàng)建一個(gè)游戲的類 里面分為兩個(gè)屬性一個(gè)玩家名 一個(gè)電腦名
def __init__(self,playername,computername):
self.playername=playername
self.computername=computername
self.playerscore=0 #玩家得分
self.comscore=0 #電腦得分
self.sum=0 #平局?jǐn)?shù)
def startgame(self):
newname=input("請(qǐng)輸入你的鼎鼎大名:")
self.playername=newname
dnname=input("請(qǐng)選擇你的對(duì)手:1.王源,2.王俊凱,3.易烊千璽:")
if dnname=="1":
print("你的對(duì)手為王源")
self.computername="王源"
elif dnname=="2":
print("你的對(duì)手為王俊凱")
self.computername = "王俊凱"
elif dnname=="3":
print("你的對(duì)手為易烊千璽")
self.computername = "易烊千璽"
else:
print("輸入有誤,系統(tǒng)以為你隨機(jī)挑選王俊凱")
self.computername = "王俊凱"
print("--------猜拳游戲開始,%s VS %s--------" % (self.playername, self.computername))
print("游戲規(guī)則為:1.剪刀,2.石頭,3.布")
while True:
player=int(input("玩家請(qǐng)出拳:"))
#玩家出拳
player = random.randint(1, 3)
if player == 1:
print(" %s出了剪刀" % self.playername)
elif player == 2:
print(" %s出了石頭" % self.playername)
else:
print(" %s出了布" % self.playername)
#電腦出拳
computer=random.randint(1,3)
if computer==1:
print(" %s出了剪刀"%self.computername)
elif computer==2:
print(" %s出了石頭"%self.computername)
else:
print(" %s出了布"%self.computername)
if(player==computer):
print("平局")
self.sum+=1
elif(player==1 and computer==3) or(player==2 and computer==1) or(player==3 and computer==2):
print("%s本局獲勝"%self.playername)
self.playerscore+=1
else:
print("%s本局獲勝"%self.computername)
self.comscore+=1
print("輸贏統(tǒng)計(jì):%s VS %s" % (self.playername, self.computername),
"玩家%s勝利%d次" % (self.playername, self.playerscore),
"%s勝利%d次" % (self.computername, self.comscore),
"%d次平局" % self.sum)
print("---------------------------------------------------")
tag = input("是否繼續(xù)y/n :")
if tag.lower() == 'n':
print("輸贏統(tǒng)計(jì):%s VS %s" % (self.playername, self.computername),
"玩家%s勝利%d次" % (self.playername, self.playerscore),
"%s勝利%d次" % (self.computername, self.comscore),
"%d次平局" % self.sum)
break
lx=game("as","hfg") #傳入的參數(shù)數(shù)量必須和定義參數(shù)的數(shù)量相等
lx.startgame() #調(diào)用游戲開始的方法
更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python2.7無(wú)法使用pip的解決方法(安裝easy_install)
下面小編就為大家分享一篇python2.7無(wú)法使用pip的解決方法(安裝easy_install),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
python cv2讀取rtsp實(shí)時(shí)碼流按時(shí)生成連續(xù)視頻文件方式
今天小編就為大家分享一篇python cv2讀取rtsp實(shí)時(shí)碼流按時(shí)生成連續(xù)視頻文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
Python腳本實(shí)現(xiàn)抓取指定網(wǎng)站上的所有圖片
對(duì)于開發(fā)者、數(shù)據(jù)分析師以及研究人員而言,從網(wǎng)頁(yè)中提取有價(jià)值的信息是一項(xiàng)至關(guān)重要的技能,本文將詳細(xì)介紹如何使用Python編寫一個(gè)腳本來(lái)自動(dòng)抓取指定網(wǎng)站上的所有圖片,需要的可以參考下2024-10-10
Python如何利用struct進(jìn)行二進(jìn)制文件或數(shù)據(jù)流
這篇文章主要介紹了Python如何利用struct進(jìn)行二進(jìn)制文件或數(shù)據(jù)流問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
Python TensorFlow 2.6獲取MNIST數(shù)據(jù)的示例代碼
這篇文章主要介紹了Python TensorFlow 2.6獲取MNIST數(shù)據(jù)的的相關(guān)示例,文中有詳細(xì)的代碼示例供大家參考,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-04-04
python實(shí)現(xiàn)從字符串中找出字符1的位置以及個(gè)數(shù)的方法
這篇文章主要介紹了python實(shí)現(xiàn)從字符串中找出字符1的位置以及個(gè)數(shù)的方法,對(duì)于Python字符串操作的學(xué)習(xí)有一定的幫助與借鑒作用,需要的朋友可以參考下2014-08-08
requests在python中發(fā)送請(qǐng)求的實(shí)例講解
在本篇文章里小編給大家整理的是一篇關(guān)于requests在python中發(fā)送請(qǐng)求的實(shí)例講解內(nèi)容,有興趣的朋友們可以測(cè)試學(xué)習(xí)下。2021-02-02

