Python实现交互式猜拳游戏:含玩家命名、对手选择与局数统计
本文介绍使用Python实现的一个交互式猜拳游戏。程序支持玩家自定义输入名字,并从预设的三位电脑对手中选择对战方。游戏规则设定剪刀、石头、布分别对应1至3,通过随机数生成电脑出拳。程序实时统计当前局数、玩家胜场、电脑胜场及平局次数,并在游戏结束时输出完整统计报告。
本文分享了使用Python编写猜拳游戏的具体实现代码,供读者参考学习。
游戏设计需满足以下具体要求:
1. 游戏启动时,需提示并接收玩家输入的姓名。 2. 提供3个预设的电脑对手供玩家选择(电脑名称由开发者设定)。 3. 游戏规则定义:1代表剪刀,2代表石头,3代表布。 4. 对局流程:玩家出拳后,电脑系统随机生成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() #调用游戏开始的方法
更多经典小游戏的实现专题,推荐参考以下内容:
C++经典小游戏代码汇总
Python经典小游戏代码汇总
Python俄罗斯方块游戏合集
JavaScript经典游戏精选
Java经典小游戏代码汇总
JavaScript经典游戏集锦
以上内容为本文的全部分享,旨在辅助读者学习Python编程。欢迎对相关内容感兴趣的朋友继续支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









