python实现猜拳游戏项目

 更新时间:2020年11月30日 09:31:28   作者:江liuer_666  
这篇文章主要为大家详细介绍了python实现猜拳游戏项目,以excel形式保存信息,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

项目功能:

1.系统生成随机的石头剪刀布,玩家输入石头剪刀布
2.因为玩家可能会输入shitou st这样的输入,需要格式化成合理输入
3.进行石头剪刀布的游戏,输出游戏结果,假设每次可以玩5局
4.将游戏结果写入到excel中,包括系统出拳,玩家出拳,游戏结果,目前得分
5.游戏有欢迎信息(欢迎来到游戏)和用户交互(游戏剩余次数)
6.如果游戏的得分达到0分,游戏也会结束
7.在开始游戏的时候要求用户输入玩家姓名,会创建于玩家姓名同名的sheet页
8.如果玩家已经存在,则输出欢迎回来,您目前的积分为:xx分
9.如果玩家不存在,则输出欢迎来到游戏,您目前有5个积分
10.当是老玩家,游戏积分为0分,则提示用户充值,充值1元2积分

代码如下:

import openpyxl
import random
class excel:
 def __init__(self,filename,sheetname):#读某个单元格的值
  self.file = openpyxl.load_workbook(filename)
  self.sheet = self.file[sheetname]
  self.name=filename

 def write(self, sheet, data,num):#将数据以列表形式写入
  sheet = self.file[sheet]
  for i in range(1, len(data) + 1):
   sheet.cell(num,i).value = data[i-1]
  self.file.save(self.name)

def formatx(indata):
 if indata=='shitou' or indata=='shi tou' or indata=='st':
  indata = '石头'
 elif indata=='bu' or indata=='b u':
  indata = '布'
 elif indata=='jiandao' or indata=='jd':
  indata='剪刀'
 elif indata=='石头' or indata=='布' or indata=='剪刀':
  pass
 return indata

def getscore(name):
 wb = openpyxl.load_workbook('first.xlsx')
 sheet = wb[name]
 maxrow = sheet.max_row
 maxcol = sheet.max_column
 score = sheet.cell(maxrow, maxcol).value
 if score=='积分':
  score = 5
  print("欢迎来到游戏")
 else:print("欢迎回来游戏")
 return score

def login(name):
 wb = openpyxl.load_workbook('first.xlsx')
 names = wb.sheetnames
 if name not in names:
  wb.create_sheet(name)
  sheet = wb[name]
  sheet.cell(1,1).value='电脑'
  sheet.cell(1, 2).value = '玩家'
  sheet.cell(1, 3).value = '结果'
  sheet.cell(1, 4).value = '积分'
  wb.save('first.xlsx')

if __name__=="__main__":
 name = input('请输入您的名字:')
 login(name)
 score = getscore(name)
 print("积分{}".format(score))
 if score<=0:
  print('请充值:')
  money = int(input('请输入充值金额'))
  score += money*2
 opt = excel('first.xlsx', name)
 for num in range(1,6):
  compute = random.choice(['石头','剪刀','布'])
  player = input('请输入猜拳的内容:')
  player=formatx(player)
  if player==compute:
   result = [compute,player,'平局',score]
   print('电脑出拳:{},玩家出拳:{},游戏结果:{}'.format(compute,player,result[2],score))
   opt.write(name, result,num+1)
  elif (player=='石头' and compute=='剪刀') or (player=='剪刀' and compute=='布') or player=='布' and compute=='石头':
   score+=1
   result = [compute, player, '玩家胜利',score]
   print('电脑出拳:{},玩家出拳:{},游戏结果:{}'.format(compute, player, result[2],score))
   opt.write(name, result,num+1)
  else:
   score-=1
   result = [compute, player, '玩家失败',score]
   print('电脑出拳:{},玩家出拳:{},游戏结果:{}'.format(compute, player, result[2],score))
   opt.write(name, result,num+1)
  if score<=0:
   break
  print('游戏剩余次数:{}'.format(5-num))
 print("游戏结束")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python绘制发散型柱状图+误差阴影时间序列图+双坐标系时间序列图+绘制金字塔图

    python绘制发散型柱状图+误差阴影时间序列图+双坐标系时间序列图+绘制金字塔图

    这篇文章主要介绍了python绘制发散型柱状图+误差阴影时间序列图+双坐标系时间序列图+绘制金字塔图,详细的内容需要的小伙伴可以参考一下下面文章内容
    2022-08-08
  • 利用TensorFlow训练简单的二分类神经网络模型的方法

    利用TensorFlow训练简单的二分类神经网络模型的方法

    本篇文章主要介绍了利用TensorFlow训练简单的二分类神经网络模型的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • python 装饰器(Decorators)原理说明及操作代码

    python 装饰器(Decorators)原理说明及操作代码

    装饰器(Decorators)是 Python 的一个重要部分,本文由浅入深给大家介绍了python 装饰器Decorators原理,感兴趣的朋友跟随小编一起看看吧
    2021-12-12
  • 基于Python实现微信自动回复功能

    基于Python实现微信自动回复功能

    这篇文章主要为大家详细介绍了Python如何通过WechatPCAPI来实现微信自动回复的功能,文中的示例代码讲解详细,快跟随小编一起动手尝试一下
    2022-06-06
  • 使用python pywin32模块创建windows服务实例探究

    使用python pywin32模块创建windows服务实例探究

    这篇文章主要为大家介绍了使用python pywin32模块创建windows服务实现实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Python的多种对象工厂模式方便代码维护扩展

    Python的多种对象工厂模式方便代码维护扩展

    这篇文章主要为大家介绍了Python的多种对象工厂模式更方便我们进行代码维护扩展,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Python格式化输出详情

    Python格式化输出详情

    这篇文章介绍了Python格式化输出,主要讲解Python格式化输出的三种方式:%格式化、format格式化、f-String格式化,需要的朋友可以参考下面文章的具体内容
    2021-09-09
  • Django Model层F,Q对象和聚合函数原理解析

    Django Model层F,Q对象和聚合函数原理解析

    这篇文章主要介绍了Django Model层F,Q对象和聚合函数原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Mac 上切换Python多版本

    Mac 上切换Python多版本

    Mac上自带了Python2.x的版本,有时需要使用Python3.x版本做开发,但不能删了Python2.x,可能引起系统不稳定,那么就需要安装多个版本的Python下面通过本文给大家介绍Mac 上切换Python多版本的方法,需要的的朋友一起看看吧
    2017-06-06
  • python用海龟绘图写贪吃蛇游戏

    python用海龟绘图写贪吃蛇游戏

    这篇文章主要为大家详细介绍了python用海龟绘图写贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06

最新评论