今天的这篇文章呢是对人机猜拳小游戏——石头剪刀布的一个描述以及代码展现

石头剪刀布游戏代码的简介:关于石头剪刀布这个小游戏,大致得到思路就是,玩家出一个手势,然后电脑再随机出一个手势,最后再判断是玩家获胜还是电脑获胜。最简单的思路就是将这三个手势是三个代号来表示,然后再去判断代号之间的关系,最后输出胜方。

最一般情况下,最先想到的就是使用1、2、3数字来对三个手势进行代号化,然后再通过代号的大小去判断,如下是对这个方式的简述:

石头 代号 用1来表示

剪刀 代号 用2来表示

布 代号 用3来表示

石头 > 剪刀

剪刀 > 布

布 > 石头

站在玩家的角度考虑玩家胜利的情况(分析电脑胜利也是一样的):如果玩家出的是石头,只有电脑出剪刀时玩家才可以胜利,石头代号为1 ,剪刀代号为2,石头代号石头的代号。由这三条分析可以看出,单纯用这三个数字来比较大小的方式(即玩家手势代号大于或者小于电脑手势代号的方式)比较复杂。

1. 本代码思路,使用三种分类方式:玩家赢,平局,玩家输 来进行三种判断,当玩家出石头(1)并且电脑出剪刀(2)或者玩家出剪刀(2)并且电脑出布(3)或者玩家出布(3)并且电脑出石头(1)这三种情况时,玩家赢;当玩家和电脑的手势代号一致时,平局;其他情况玩家输。

代码如下:

import random #导包

print("********欢迎来到猜拳小游戏********")

while True:

key = int(input("请输入您的出拳选项:1,剪刀。2,石头。3,布:")) #从键盘上得到手势代号

while (key not in [1, 2, 3]): #判断当输入的手势代号是否符合要求,不符合要求时,重新输入

print("您的输入有误,请重新输入")

key = int(input("请输入您的出拳选项:1,剪刀。2,石头。3,布:"))

com_key=random.randint(1,3) #利用随机函数随机生成1到3之间的整数

if (key==1 and com_key==2) or (key==2 and com_key==3) or (key==3 and com_key==1):

print("恭喜你啦,你赢了呦,加油!!!")

elif key==com_key:

print("此局是平局")

else:

print("真是遗憾呢,你输了。。。。")

n=input("请输入n结束游戏或者输入其他字符继续游戏:")

if n=="n":

break

print("游戏结束")

运行结果如下:

********欢迎来到猜拳小游戏********

请输入您的出拳选项:1,剪刀。2,石头。3,布:1

此局是平局

请输入n结束游戏或者输入其他字符继续游戏:2

请输入您的出拳选项:1,剪刀。2,石头。3,布:2

恭喜你啦,你赢了呦,加油!!!

请输入n结束游戏或者输入其他字符继续游戏:2

请输入您的出拳选项:1,剪刀。2,石头。3,布:3

恭喜你啦,你赢了呦,加油!!!

请输入n结束游戏或者输入其他字符继续游戏:n

游戏结束

2. 人机猜拳小游戏升级版:

此版本多出来的功能为,可以为自己起用户名,并选择电脑玩家,计算玩家赢和电脑赢以及游戏总次数。

import random

print("* "*10+"人机猜拳"+"* "*10)

name=input("请输入昵称:")

hero_key=input("请选择英雄:1,刘备。2,李白。3,安琪拉")

if hero_key=="1":

hero_name="刘备"

print("刘备是个战士")

elif hero_key=="2":

hero_name="李白"

print("李白适合打野")

else:

hero_name="安琪拉"

print("安琪拉是个法师")

sum=0

# 统计人赢的和电脑赢的次数

per_win=0

com_win=0

while True:

sum=sum+1

key=int(input("请输入出拳选项:1,剪刀。2,石头。3,布:"))

while (key not in [1,2,3]):

print("输入有误请重新输入")

key = int(input("请输入出拳选项:1,剪刀。2,石头。3,布:"))

if key==1:

print("%s出了剪刀"%name)

elif key ==2:

print("%s出了石头"%name)

else:

print("%s出了布"%name)

com_key=random.randint(1,3)

if com_key==1:

print("%s出了剪刀"%hero_name)

elif com_key ==2:

print("%s出了石头"%hero_name)

else:

print("%s出了布"%hero_name)

# 判断结果

if key==1 and com_key==3 or key ==2 and com_key==1 or key ==3 and com_key==2 :

print("本局结果:你赢了")

per_win=per_win+1

elif key==com_key:

print("本局结果:打平了")

else:

print("本局结果:你输了,呵呵")

com_win+=1

n=input("输入n结束游戏输入其他键继续")

if n=="n":

break

print("游戏结束")

print("* "*10+"最终结果"+"* "*10)

print("本次游戏一共进行%d局其中%s赢%d局%s赢%d局最终结果:"%(sum,name,per_win,hero_name,com_win))

if per_win>com_win:

print("大吉大利今晚吃鸡")

elif per_win==com_win:

print("平局:择日再战")

else:

print("你还是输了,真菜,呵呵。。。")

运行结果如下:

* * * * * * * * * * 人机猜拳* * * * * * * * * *

请输入昵称:鱼丸

请选择英雄:1,刘备。2,李白。3,安琪拉1

刘备是个战士

请输入出拳选项:1,剪刀。2,石头。3,布:2

鱼丸出了石头

刘备出了石头

本局结果:打平了

输入n结束游戏输入其他键继续c

请输入出拳选项:1,剪刀。2,石头。3,布:2

鱼丸出了石头

刘备出了石头

本局结果:打平了

输入n结束游戏输入其他键继续w

请输入出拳选项:1,剪刀。2,石头。3,布:3

鱼丸出了布

刘备出了石头

本局结果:你赢了

输入n结束游戏输入其他键继续n

游戏结束

* * * * * * * * * * 最终结果* * * * * * * * * *

本次游戏一共进行3局其中鱼丸赢1局刘备赢0局最终结果:

大吉大利今晚吃鸡

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

python人机猜拳随机,python实现人机猜拳小游戏相关推荐

  1. Python数字华容道--程序实现的创意数学小游戏

    下载链接:Python数字华容道--程序实现的创意数学小游戏-Python文档类资源-CSDN下载 当前的数学教育环境下,更强调的是数学素养的提升,本程序提供了一个免费的数学益智小游戏的学习和训练平台 ...

  2. 利用Python编写一个AI脚本自动控制2048网页小游戏

    前言 本文将使用python+selenium自动控制游戏运行.当然采用的是伪随机数进行键盘控制.只作为一个抛砖迎玉的参考,不涉及专业算法. – 一.前期准备(必须有) 1.在安装好的pyCharm中 ...

  3. python的pygame库使用方法_python基础教程使用Python第三方库pygame写个贪吃蛇小游戏...

    今天看到几个关于pygame模块的博客和视频,感觉非常有趣,这里照猫画虎写了一个贪吃蛇小游戏,目前还有待完善,但是基本游戏功能已经实现,下面是代码: # 导入模块 import pygame impo ...

  4. python猜大小游戏,Python实现的摇骰子猜大小功能小游戏示例

    搜索热词 本文实例讲述了Python实现的摇骰子猜大小功能小游戏.分享给大家供大家参考,具体如下: 最近学习Python的随机数,逻辑判断,循环的用法,就想找一些练习题,比如小游戏猜大小,程序思路如下 ...

  5. Python版消灭病毒、消灭新冠小游戏源代码

    Python版消灭病毒.消灭新冠小游戏源代码,上下方向键控制战斗少女,如果被病毒袭击将会Game Over,按空格键发射火球烧死病毒获得积分. 开始界面 游戏界面 核心代码: game.py # Py ...

  6. python大作业数独_python做一个数独小游戏

    最近看了下python的一些知识,在这里记载一下. 1.首先是安装,在官网下载最新的版本3.6,安装的时候要注意在下面勾选上ADD TO PATH,安装的时候会自动写入到环境变量里面,如果没有勾选,可 ...

  7. 投掷骰子的python代码_Python基础篇——模拟掷骰子小游戏

    写在前面 ↓ 骰子是我们经常能看到的小玩意儿,今天我们来做一个模拟掷骰子过程的文字版小游戏,送给幻想编程岛新接触Python的初学者们~ 注:本教程基于64位windows系统(鼠标右键点击桌面&qu ...

  8. python 苹果试玩_python实现吃苹果小游戏

    本文实例为大家分享了python实现吃苹果小游戏的具体代码,供大家参考,具体内容如下 1.公共类模块 import pygame from pygame.rect import Rect def pr ...

  9. 用【Python】写了一个水果忍者小游戏,玩过之后爱不释手

    前言 水果忍者到家都玩过吧,但是Python写的水果忍者你肯定没有玩过.今天就给你表演一个新的,用Python写一个水果忍者. 水果忍者的玩法很简单,尽可能的切开抛出的水果就行. 今天就用python ...

  10. Python学习笔记 十一:图形用户界面和小游戏开发

    1. 基于tkinter模块的GUI GUI是图形用户界面的缩写,图形化的用户界面对使用过计算机的人来说应该都不陌生,在此也无需进行赘述. Python默认的GUI开发模块是tkinter(在Pyth ...

最新文章

  1. mysql_config_editor程序的用法
  2. selenium python (八)定位frame中的对象
  3. Pandas 4 个小 trick,都很实用!
  4. 经典网页设计:18个示例展示图片在网页中的使用
  5. python奇偶求和_python 判断奇偶并求和,运行过程有错误,希望高手给指导一下。...
  6. Codeforces Round #158 (Div. 2) A - Adding Digits
  7. python列表推导式中使用if和if-else
  8. 大数据分析有几种方法
  9. 微信小程序单指拖拽和双指缩放旋转
  10. 關於GoogleUpdate.exe
  11. JAVA智能分析的简单聚众筹平台计算机毕业设计Mybatis+系统+数据库+调试部署
  12. html渲染json的插件,lottieJS(Json动画的使用)
  13. JS实现动画特效2(缓动函数封装、导航栏筋斗云效果)
  14. Docker 学习视频集 bilibili
  15. 电脑屏幕黑屏的终极解决办法
  16. 全球与中国工业自动化运动控制系统市场现状及未来发展趋势
  17. Jira中文包插件,更专业的中文Jira
  18. 计算机SCI 源代码,计算机类SCI检索源刊.doc
  19. Python selenium —— 文件下载,不弹出窗口,直接下载到指定路径
  20. 淘宝api Python 接口升级 3.0 版本 主要解决图片上传问题

热门文章

  1. 【项目管理/PMP/PMBOK第六版/新考纲】计算题24道带答案解析!
  2. 南京大学计算机学院2019调剂,2019年南京大学考研调剂相关规定
  3. oracle18c18.3,oracle 18c客户端提供下载了
  4. unity Screen.orientation
  5. hdu5750Dertouzos
  6. 重磅丨教育部《高校人工智能创新行动计划》权威解读, AI人才缺口竟有500万!
  7. java操作远端ftp文件失败
  8. 计算机硬盘和光驱的接口类型,请问 各位大神,我的主板硬盘接口类型和光驱接口类型...
  9. 项目实战之电子商城数据库源码
  10. Android 录制视频添加时间水印,Android开发教程入门