本文实例为大家分享了python实现一个猜拳游戏的具体代码,供大家参考,具体内容如下

设计一个猜拳的游戏,要求如下:
1、游戏开始时,输入玩家名字
2、可以选择3个电脑对手(电脑名字自定)
3、游戏规则为:1、剪刀 2、石头 3、布
4、游戏开始,玩家vs电脑,玩家选择出一个,电脑随机1-3
5、具有局数统计(如:现在是第几局)、输赢统计(玩家胜几局,电脑胜几局)
效果图如下:

代码如下:
import random #先导入随机数
class game(): #创建一个游戏的类 里面分为两个属性一个玩家名 一个电脑名
def __init__(self,playername,computername):
self.playername=playername
self.computername=computername
self.playerscore=0 #玩家得分
self.comscore=0 #电脑得分
self.sum=0 #平局数
def startgame(self):
newname=input("请输入你的鼎鼎大名:")
self.playername=newname
dnname=input("请选择你的对手:1.王源,2.王俊凯,3.易烊千玺:")
if dnname=="1":
print("你的对手为王源")
self.computername="王源"
elif dnname=="2":
print("你的对手为王俊凯")
self.computername = "王俊凯"
elif dnname=="3":
print("你的对手为易烊千玺")
self.computername = "易烊千玺"
else:
print("输入有误,系统以为你随机挑选王俊凯")
self.computername = "王俊凯"
print("--------猜拳游戏开始,%s VS %s--------" % (self.playername, self.computername))
print("游戏规则为:1.剪刀,2.石头,3.布")
while True:
player=int(input("玩家请出拳:"))
#玩家出拳
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("输赢统计:%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("是否继续y/n :")
if tag.lower() == 'n':
print("输赢统计:%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") #传入的参数数量必须和定义参数的数量相等
lx.startgame() #调用游戏开始的方法另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。