Python实现交互式猜拳游戏:含玩家命名、对手选择与局数统计

小鹿同学
小鹿同学
发布时间:2026-10-12| 2人浏览过
原创

本文介绍使用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编程。欢迎对相关内容感兴趣的朋友继续支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。