文章目录

  • 1.需要使用的库:
  • 2.具体代码:
  • 3.完整代码
  • 4.玩两把!!!

两个熟识的人玩普通的石头、剪子、布游戏有75%至80%的几率两人出一样的手势,所以为了减少游戏的平局概率,山姆和卡伦发明了“石头、剪子、布、蜥蜴、斯波克”。石头、剪子、布的手势和通俗猜拳游戏基本一致,蜥蜴的手势为一个蜥蜴面部的手势,而斯波克的手势则为著名的瓦肯举手礼。
游戏规则如下:

剪刀剪布;
布包石头;
石头砸死蜥蜴;
蜥蜴毒死Spock;
Spock踩碎剪子;
剪子刺死蜥蜴;
蜥蜴吃掉布;
论文(布paper,在英文中也有论文的意思)证明Spock不存在;
Spock融化石头;
石头砸碎剪子。

具体实现代码如下:

1.需要使用的库:

import random

在人机对战时,使用random库中的randint函数为人机生成一个选项。

2.具体代码:

首先选择pvp还是pve:

choice = input('please choose battle mode, 1--pvp  2--pve:')

如果选择了pvp,则创建两个变量op1和op2分别接受两个玩家的选项,这里使用int类型而不适用str类型,是因为等会在写逻辑表达式的时候,可以省略引号,必较方便。

if choice == '1':op1 = int(input('''playerA, what is your choice?1--scissor  2--stone  3--paper  4--lizard  5--spock
your choice is:'''))op2 = int(input('''playerB, what is your choice?1--scissor  2--stone  3--paper  4--lizard  5--spock
your choice is:'''))

根据上面的规则,如果玩家A胜利,则有以下五种情况:
①玩家A出剪刀,玩家B出布或蜥蜴
②玩家A出石头,玩家B出剪刀或蜥蜴
③玩家A出布,玩家B出石头或Spock
④玩家A出蜥蜴,玩家B出Spock或布
⑤玩家A出Spock,玩家B出石头或剪子

if (op1 == 1 and (op2 == 3 or op2 == 4)) or (op1 == 2 and (op2 == 1 or op2 == 4)) or (op1 == 3 and (op2 == 2 or op2 == 5)) or (op1 == 4 and (op2 == 3 or op2 == 5)) or (op1 == 5 and (op2 == 1 or op2 == 2)):print('playerA win!')

如果两个玩家选项相同,则平局:

elif op1 == op2:print('even!')

否则,玩家B胜利:

else:print('playerB win!')

如果选择了pve模式,则只需接受一个玩家的选项:

elif choice == '2':man = int(input('''what is your choice?1--scissor  2--stone  3--paper  4--lizard  5--spock
your choice is:'''))

为计算机生成一个选项:

computer = random.randint(1,5)print(f"the computer's choice is:{computer}")

判断输赢的方法与pvp时相同,这里不再赘述。

3.完整代码

import random
choice = input('please choose battle mode, 1--pvp  2--pve:')
if choice == '1':op1 = int(input('''playerA, what is your choice?1--scissor  2--stone  3--paper  4--lizard  5--spock
your choice is:'''))op2 = int(input('''playerB, what is your choice?1--scissor  2--stone  3--paper  4--lizard  5--spock
your choice is:'''))if (op1 == 1 and (op2 == 3 or op2 == 4)) or (op1 == 2 and (op2 == 1 or op2 == 4)) or (op1 == 3 and (op2 == 2 or op2 == 5)) or (op1 == 4 and (op2 == 3 or op2 == 5)) or (op1 == 5 and (op2 == 1 or op2 == 2)):print('playerA win!')elif op1 == op2:print('even!')else:print('playerB win!')
elif choice == '2':man = int(input('''what is your choice?1--scissor  2--stone  3--paper  4--lizard  5--spock
your choice is:'''))computer = random.randint(1,5)print(f"the computer's choice is:{computer}")if (man == 1 and (computer == 3 or computer == 4)) or (man == 2 and (computer == 1 or computer == 4)) or (man == 3 and (computer == 2 or computer == 5)) or (man == 4 and (computer == 3 or computer == 5)) or (man == 5 and (computer == 1 or computer == 2)):print('player win!')elif man == computer:print('even!')else:print('computer win!')

4.玩两把!!!


第一把,看似是pvp,实际上只有我一个人。

第二把,pve,电脑运气更好,我输了。

看生活大爆炸时听见Sheldon提过这个游戏,觉得还蛮有意思的,就像能不能用代码实现,于是就写了这个小游戏,没什么用哈哈哈哈哈,但是也算完成了自己的一个小想法吧。
如果你有什么改进的方法,请指出来,我将感激不尽;如果这篇文章能帮助到你,我更将不胜荣幸。

利用Python实现scissors-rock-paper-lizard-Spock小游戏相关推荐

  1. 利用Python做一个简单的对战小游戏

    利用Python做一个简单的文字对战小游戏 一.游戏介绍 1.大体介绍:文字版的对战小游戏,可以利用Python随机生成两个角色,角色带有各自的血量和攻击值两个指标.两人在对战时同时攻击对方,同时造成 ...

  2. python爬虫的使用——成语接龙小游戏

    python爬虫的使用--成语接龙小游戏 游戏介绍 本游戏采用python进行开发,利用爬虫技术,能够自动获取代理服务器IP地址,可从常用汉字中选取查找成语随机出题,可进行人与电脑的对弈,可进行多轮较 ...

  3. python手机版做小游戏代码大全-Python大牛手把手教你做一个小游戏,萌新福利!...

    原标题:Python大牛手把手教你做一个小游戏,萌新福利! 引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规 ...

  4. python写一个游戏多少代码-使用50行Python代码从零开始实现一个AI平衡小游戏

    集智导读: 本文会为大家展示机器学习专家 Mike Shi 如何用 50 行 Python 代码创建一个 AI,使用增强学习技术,玩耍一个保持杆子平衡的小游戏.所用环境为标准的 OpenAI Gym, ...

  5. PYTHON pygame库实战——实现双人弹球小游戏

    PYTHON pygame实战--运用pygame库实现双人弹球小游戏 使用python pygame库实现一个双人弹球小游戏,两人分别控制一个左右移动的挡板用来拦截小球,小球会在两板间不停弹跳,拦截 ...

  6. Python四行代码实现的猜数字小游戏,基于thinker,带GUI界面

    Python四行代码实现的猜数字小游戏,基于thinker,带GUI界面 from tkinter import * from tkinter import messagebox 导入提示框 from ...

  7. [Python] 黑白棋(翻转棋)小游戏

    [Python] 黑白棋(翻转棋)小游戏 游戏介绍 黑白棋(Reversi or Othello)在西方和日本很流行.游戏通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负. 规则 黑白棋的每颗 ...

  8. 一行python代码,带你重温经典小游戏

    点击上方「蓝字」关注我们 各位新老朋友们: 大家好,我是菜鸟小白.欢迎大家关注"菜鸟小白的学习分享"公众号,菜鸟小白作为一名软件测试工程师,会定期给大家分享一些测试基础知识.测试环 ...

  9. 50行python游戏代码_使用50行Python代码从零开始实现一个AI平衡小游戏

    使用50行Python代码从零开始实现一个AI平衡小游戏 发布时间:2020-10-23 09:26:14 来源:脚本之家 阅读:74 集智导读: 本文会为大家展示机器学习专家 Mike Shi 如何 ...

  10. java游戏循环_利用Java循环语句实现攻击防御塔小游戏

    /* * 时间:2018-3-21 * 目的:practice * 内容:利用Java循环语句实现攻击防御塔小游戏 * 使用Java while语句实现一个英雄攻击防御塔的小程序,防御塔血量总计100 ...

最新文章

  1. fatal error: Python.h: No such file or directory 解决
  2. Maven 版 JPA 最佳实践(转)
  3. 如何版本化你的API?--转
  4. python之.py生成.exe可执行文件
  5. linux驱动编写(虚拟字符设备编写)
  6. python矩阵所有元素取整_Python主要逻辑基础与处理
  7. 小程序wafer2操作数据库
  8. SQL Server 2008入门系列之设置数据库服务器的访问权限
  9. 数字信号处理实验(六)——FIR滤波器的设计
  10. [置顶] woff格式字体怎么打开和编辑?
  11. 从技术问题变成RPWT -----------------猛禽
  12. linux下制作dos启动u盘启动,在Linux系统下创建FreeDOS可启动U盘
  13. 千兆路由器怎么设置网速最快_安装了千兆路由器,为什么下载速度很慢?
  14. css rgb转16进制,jquery获取元素颜色css('color')的值返回RGB。如何转十六进制
  15. 京东云对话Cloudflare:畅谈更懂产业的云与未来科技趋势
  16. windows多用户“同时”远程连接
  17. Docker制作base镜像
  18. 本穷鬼攒的一台用于深度学习用电脑
  19. 下载漫画网站图片示例
  20. (二)admin-boot项目之整合mybatis-plus

热门文章

  1. phpstorm database 使用
  2. 正片叠底(Multiply)和滤色(Screen)是两种基本的混合模式
  3. 浅尝webSocket
  4. 南阳ACM 题目722 数独
  5. C/C++程序固定单核CPU运行(几个示例)
  6. [源码解读]一文彻底搞懂Events模块
  7. AD实用操作(三)- 原理图器件配置参数批量修改
  8. 利用卷积神经网络(CNN)构造社区问答系统
  9. 计算机U盘启动键,u盘启动按哪个键? 教你进入bios设置U盘启动
  10. IDM短信发送接口设计说明