《Python趣味工具》——其他常见的RPG游戏梳理:

Hello,各位朋友们大家好!昨天我们一起制作了自己的第一个RPG游戏——《人生选择模拟器》,是不是还意犹未尽呢?哈哈,今天我们再来尝试做几款比较轻量级的小游戏吧!
在这里插入图片描述


文章目录

    • 1. 猜单词游戏:
    • 2. 姻缘测试:
    • 3. 猜中秘密数字:
    • 4. 石头剪刀布:


1. 猜单词游戏:

让我们再来制作一款简单的猜单词游戏吧!

✨游戏规则是:
1.根据中文提示输出对应的英文单词。
2.每答对1个就输出"你真棒,继续冲"。
3.全部答对则输出"全部答对"。
4.答错了则输出"再来一次"

完成的效果是这样的:

在这里插入图片描述
示例代码如下:

# TODO 导入time模块
import time
# 用字典的形式存储单词,字典的键为中文,值为英文
wordList = {"苹果":"apple", "香蕉":"banana","西瓜":"watermelon"}

# 输出"背单词小游戏"
print("背单词小游戏")

# TODO 使用time.sleep()函数设置停顿2秒
time.sleep(2)
# 计数器归零
count = 0

# 遍历字典wordList
for i in wordList:
    # TODO 使用input()函数接收用户输入的英文并存储在变量word中
    # TODO 文案为f"请输入{i}的英文:"
    word=input(f"请输入{i}的英文:")
    # TODO 判断word和字典wordList[i]相等
    if(word==wordList[i]):
        # TODO 计数器加1
        count+=1
        # TODO 判断如果计数器不等于3
        if(count!=3):
            # TODO 输出"你真棒,继续冲"
            print("你真棒,继续冲")
        # 其他情况    
        else:
            # TODO 输出"全部答对"
            print("全部答对")
    # 如果word和字典wordList[i]不相等,也就是其他情况        
    else:
        # TODO 输出"再来一次"
        print("再来一次")
        # TODO 跳出循环
        break

2. 姻缘测试:

✨姻缘测试小工具实现的功能如下:
在这里插入图片描述

1.游戏开始,请玩家依次输入"男方姓名",“女方姓名”,“男方年龄”,“女方年龄”。

2.如果双方的年龄差为0,也就是同岁,输出一段文案。

3.如果双方的年龄差小于等于3,输出一段文案。

4.如果双方的年龄差小于等于10,输出一段文案。

5.如果双方的年龄差小于20,输出一段文案。

6.其他情况,输出最后一段文案。
⭐️⭐️⭐️

  • 计算两个数值之间差的绝对值,可以使用abs()函数。
    abs(-45) : 45
    abs(100.12) : 100.12

⭐️⭐️⭐️
示例代码如下:

# TODO 导入time时间模块
import time
# 使用input函数请玩家输入男方姓名,并将输入的内容赋值给变量nan_name
nan_name = input("请输入男方姓名:")
# TODO 使用input函数请玩家输入女方姓名,并将输入的内容赋值给变量nv_name
# TODO 文案是"请输入女方姓名:"
nv_name = input("请输入女方姓名:")

# 使用input函数请玩家输入男方年龄,并将输入的内容赋值给变量nan_age
nan_age = int(input("请输入男方年龄:"))

# TODO 使用input函数请玩家输入女方年龄,使用int()函数取整,并将输入的内容赋值给变量nv_age
# TODO 文案是"请输入女方年龄:"
nv_age= int(input("请输入女方年龄:"))

# 格式化输出男方姓名和女方姓名的姻缘如下:
print(f"{nan_name}先生和{nv_name}小姐的姻缘如下:")
dif_age=abs(nan_age-nv_age)
# TODO 使用停顿函数停顿2秒
time.sleep(2)
# TODO 判断当男方年龄和女方年龄差距的绝对值等于0时
if dif_age==0:
    # 输出一段文案
    print("你们的感情一般是从学生时代开始的,那青涩的恋爱留给你们酸酸甜甜的味道,\n让你们用一生去怀念彼此,但是你们的爱情却注定了没有结果,你们会试着遗忘对方,\n开始自己新的生活,但心中那最温柔的角落一直被初恋占据。")
# TODO 判断当男方年龄和女方年龄差距的绝对值大于0,小于等于3时
elif dif_age<=3:
    # 输出一段文案
    print("你们是众人眼中的神仙眷侣,站在一起怎么看怎么般配,很有传说中的夫妻相。\n你们之间或许没有惊天地泣鬼神的爱情神话,或许没有刻骨铭心的激情,\n但是你的之间的温情和默契却能让你们的心越走越近,一起慢慢变老。")
# TODO 判断当男方年龄和女方年龄差距的绝对值大于3,小于等于10时
elif dif_age<=10:
    # 输出一段文案
    print("你们在看到对方的第一眼就深深地被吸引,并立刻爱上对方。\n海誓山盟的爱情宣言是你们奉行的金科玉律。\n她崇拜他,同样她也令他着迷,他们就像磁石与铁一样相互吸引。")
# TODO 判断当男方年龄和女方年龄差距的绝对值大于10,小于20时
elif dif_age<=20:
    # 输出一段文案
    print("你们都是性情中人,你们都受过感情的伤,你们都一样脆弱而敏感。\n同样的经历,同样的伤痛,让你更容易靠近。\n你们的感情在相互疗伤中一点一点加深,你们的心痊愈了,你们的爱情也圆满了。")
# 其他情况
else:
    # 输出一段文案
    print("你们可能是被现实分开的情侣,你们可能是在有归宿后相见。\n你们相爱,却不能在一起,只能遥远地思念。")



3. 猜中秘密数字:

✨做一个猜数字游戏,游戏规则如下:
在这里插入图片描述

1.程序设定生成1-30之间的随机数,让用户猜;

2.设定用户一共只能猜3次;

3.请用户输入猜测的数字,文案为"请输入猜测的数";

4.程序判断:当猜的数字小于等于0,或者大于30时,就跳出;

5.猜的数字比【随机数】小,输出"太小啦";接着判断,猜的数字比【随机数】大,输出"太大啦",其他情况跳出;

6.如果猜对了,输出"真厉害,猜对啦",否则,输出"很遗憾没有猜对,再玩一次吧"。

⭐️⭐️⭐️

产生随机数,可以使用Python的内置模块random。具体的使用方法如下:
在这里插入图片描述

⭐️⭐️⭐️

示例代码如下:

# TODO 导入生成随机数的模块
import random

# TODO 程序设定生成 1-30 之间的一个随机数并赋值给secretNum,让用户猜
secretNum=random.randint(1,30)

# 输出"这是一个位于1-30之间的数"
print("这是一个位于 1-30 之间的数")

# 设定用户只能猜 3 次
for number in range(1,4):
    # TODO 使用input()函数,请用户输入猜测的数,并使用int()函数取整
    # TODO 将输出的内容赋值给变量guess 
    guess=int(input("请输入猜测的数"))
    # 当猜测结果小于等于0,或者大于30时,跳出
    if guess <= 0 or guess > 30:
        break
    # TODO 当猜测结果小于secretNum,输出"太小啦"  
    elif(guess<secretNum):
        print("太小啦")
        
    # TODO 继续判断,当猜测结果大于secretNum,输出"太大啦"    
    elif(guess>secretNum):
        print("太大啦")
    
    # 其他情况跳出  
    else:
        break
# TODO 判断当猜测的结果与secretNum相同时,输出"真厉害,猜对啦"       
if(guess==secretNum):
    print("真厉害,猜对啦")
    
# 其他情况,输出"很遗憾没有猜对,再玩一次吧"    
else:
    print("很遗憾没有猜对,再玩一次吧")

4. 石头剪刀布:

✨做一个猜拳游戏,游戏规则如下:
在这里插入图片描述

1.程序设定随机生成石头剪刀布中的任意一种;

2.请用户输入自己的选择,文案为"请出拳(石头/剪刀/布)";

3.程序判断:当用户和计算机出拳相同时,输出"平局";

4.玩家出拳胜于计算机出拳时,输出"恭喜,你赢了";

5.玩家出拳负于计算机出拳时,输出"很遗憾,你输了";

6.如果出拳不在选项列表里,输出"输入错误";

完成的效果是这样的:
在这里插入图片描述
⭐️⭐️⭐️

  • 从列表中随机选取一个元素
    import random
    num = random.choice([1, 2, 3, 4])
    输出:
    2

⭐️⭐️⭐️

示例代码如下:

# TODO 导入生成随机数的random模板,用于计算机随机出拳
import random

# 定义出拳的选择列表b
b = ["剪刀", "石头", "布"]
# 定义赢的列表win_list
win_list = [["石头", "剪刀"], ["剪刀", "布"], ["布", "石头"]]

# TODO 玩家出拳,输入文案内容为"请出拳(石头/剪刀/布):"并赋值给变量a
a=input("请出拳(石头/剪刀/布):")
# TODO 计算机随机从列表b中选择出拳,并赋值给mac
mac=random.choice(b)
# 分别输出输入和计算机的出拳
print(f"你出拳:{a}")
print(f"计算机出拳:{mac}")

# 如果玩家所出拳是定义好的可选选项
if a in b:
    # TODO 如果玩家和计算机出拳相同,输出"平局"
    if(a==mac):
        print("平局")
    
    # TODO 再次判断如果玩家和计算机出拳组合列表在列表win_list中
    elif [a,mac] in win_list:
        # TODO 输出"恭喜,你赢了"
        print("恭喜,你赢了")
    # TODO 其他情况下,输出"很遗憾,你输了"
    else:
        print("很遗憾,你输了")   
# 否则,输出"输入错误"
else:
    print("输入错误")

✨哈哈,到这里为止,我们的python趣味工具的第一个项目就算告一段落了,不知道你有没有学会如何去制作一款简单的小游戏呢?你是否优化了自己的人生选择模拟器呢?希望你在看完我的博客后能有所收获,当然,如果有什么建议也可以在评论区提出来!我们下期再见!!!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/100129.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

通过这 5 项 ChatGPT 创新增强您的见解

为什么绝大多数的人还不会使用chatGPT来提高工作效能&#xff1f;根本原因就在还不会循序渐进的发问与chatGPT互动。本文总结了5个独特的chatGPT提示&#xff0c;可以帮助您更好地与Chat GPT进行交流&#xff0c;以获得更清晰的信息、额外的信息和见解。 澄清假设和限制 用5种提…

Vue前端的一些表格组件的思考

当我们需要在前端中展示一些表格内容时&#xff0c;我们往往使用Vue的table来实现 1. 原生态实现 <template><div><table class"no-gap-table"><thead><tr><th class"styled-header" colspan"4">Column1&…

Linux 操作系统实战视频课 - GPIO 基础介绍

文章目录 一、GPIO 概念说明二、视频讲解沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将讲解 GPIO 。 一、GPIO 概念说明 ARM 平台中的 GPIO(通用输入/输出)是用于与外部设备进行数字输入和输出通信的重要硬件接口。ARM 平台的 GPIO 特性可以根据具体的芯…

六、高并发内存池--Central Cache

六、高并发内存池–Central Cache 6.1 Central Cache的工作原理 central cache也是一个哈希桶结构&#xff0c;他的哈希桶的映射关系跟thread cache是一样的。不同的是他的每个哈希桶位置挂是SpanList链表结构&#xff0c;不过每个映射桶下面的span中的大内存块被按映射关系切…

IPV4地址说明

设想一个场景&#xff1a; 你有两台电脑A和B&#xff0c;需要把A的数据传输到B&#xff0c;怎么办&#xff1f; 1 我们可以用U盘进行拷贝&#xff0c;就是把A的数据拷贝到B 2 我们可以用一根网线把AB连接起来 显然&#xff0c;两台电脑用一根网线。那要是n台电脑呢&#xff1f;…

进程管理死死的学

进程管理 文件属性 chattr【扩展】 chattr chattr i 文件名 # 添加权限 a 可追加&#xff0c;不可修改 i 只可查看 A 不修改访问时间 charrt -i 文件名 # 取消权限 -R 递归处理&#xff0c;将指令目录下的所有文件及子目录一并处理&#xff1b;lsattr 查看文件属性 lsattr …

事务的总结

数据库事务 数据库事务是一个被视为单一的工作单元的操作序列。这些操作应该要么完整地执行&#xff0c;要么完全不执行。事务管理是一个重要组成部分&#xff0c;RDBMS 面向企业应用程序&#xff0c;以确保数据完整性和一致性。事务的概念可以描述为具有以下四个关键属性描述…

js对中文进行base64编码和解码操作,解决中文乱码问题

我使用github api的接口获取文件内容&#xff0c;然后使用atob进行解码&#xff0c;但是发现&#xff1a;乱码.......糟心啊 所以就有了我封装的方法&#xff1a; export const encode64 (str) > {// 首先&#xff0c;我们使用 encodeURIComponent 来获得百分比编码的UTF…

Python数据分析案例30——中国高票房电影分析(爬虫获取数据及分析可视化全流程)

案例背景 最近总看到《消失的她》票房多少多少&#xff0c;《孤注一掷》票房又破了多少多少..... 于是我就想自己爬虫一下获取中国高票房的电影数据&#xff0c;然后分析一下。 数据来源于淘票票&#xff1a;影片总票房排行榜 (maoyan.com) 爬它就行。 代码实现 首先爬虫获…

Django传递dataframe对象到前端网页

在django前端页面上展示的数据&#xff0c;还是使用django模板自带的语法 方式1 不推荐使用 直接使用 【df.to_html(indexFalse)】 使用to_html他会生成一个最基本的表格没有任何的样式&#xff0c;一点都不好看&#xff0c;如果有需要的话可以自行修改表格的样式&#xff0c;…

【教程】部署apprtc服务中安装google-cloud-cli组件的问题及解决

#0# 前置条件 已经安装完成node&#xff0c;grunt&#xff0c;node 组件和python pip包等。需要安装google-cloud-cli组件。 Ubuntu安装google-cloud-cli组件 apprtc项目运行需要google-cloud-cli前置组件&#xff0c;且运行其中的dev_appserver.py。 根据google官方的关于安…

如何使用CSS实现一个自适应等高布局?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用 Flexbox 布局⭐ 使用 Grid 布局⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发…

Linux(实操篇三)

Linux实操篇 Linux(实操篇三)1. 常用基本命令1.7 搜索查找类1.7.1 find查找文件或目录1.7.2 locate快速定位文件路径1.7.3 grep过滤查找及"|"管道符 1.8 压缩和解压类1.8.1 gzip/gunzip压缩1.8.2 zip/unzip压缩1.8.3 tar打包 1.9 磁盘查看和分区类1.9.1 du查看文件和…

RT_Thread内核机制学习(六)信号量

要传输较大数据时&#xff0c;使用队列。 传输较小数值时&#xff0c;使用邮箱。 队列、邮箱用来传递数据。 如果只是用来传递资源的个数&#xff0c;可以使用信号量。 A车与B车只需要传递信号量&#xff08;代表资源&#xff09;。 信号量 获取信号量 如果value>0&…

AI工人操作行为流程规范识别算法

AI工人操作行为流程规范识别算法通过yolov7python网络模型框架&#xff0c;AI工人操作行为流程规范识别算法对作业人员的操作行为进行实时分析&#xff0c;根据设定算法规则判断操作行为是否符合作业标准规定的SOP流程。Yolo意思是You Only Look Once&#xff0c;它并没有真正的…

记1次前端性能优化之CPU使用率

碰到这样的一个问题&#xff0c;用户反馈页面的图表一直加载不出来&#xff0c;页面还卡死 打开链接页面&#xff0c;打开控制台 Network 看到有个请求一直pending&#xff0c;结合用户描述&#xff0c;页面一直loading,似乎验证了我的怀疑&#xff1a;后端迟迟没有相应。 但是…

华为---OSPF协议优先级、开销(cost)、定时器简介及示例配置

OSPF协议优先级、开销、定时器简介及示例配置 路由协议优先级&#xff1a;由于路由器上可能同时运行多种动态路由协议&#xff0c;就存在各个路由协议之间路由信息共享和选择的问题。系统为每一种路由协议设置了不同的默认优先级&#xff0c;当在不同协议中发现同一条路由时&am…

【Go 基础篇】Go语言结构体之间的转换与映射

在Go语言中&#xff0c;结构体是一种强大的数据类型&#xff0c;用于定义和组织不同类型的数据字段。当我们处理复杂的数据逻辑时&#xff0c;常常需要在不同的结构体之间进行转换和映射&#xff0c;以便实现数据的转移和处理。本文将深入探讨Go语言中结构体之间的转换和映射技…

【算法与数据结构】112、LeetCode路径总和

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;本题通过计算根节点到叶子节点路径上节点的值之和&#xff0c;然后再对比目标值。利用文章【算法和数据…

SpringBoot集成JWT token实现权限验证

JWTJSON Web Token 1. JWT的组成 JWTHeader,Payload,Signature>abc.def.xyz 地址&#xff1a;JSON Web Tokens - jwt.er 1.1 Header Header:标头。 两个组成部分&#xff1a;令牌的类型&#xff08;JWT&#xff09;和所使用的签名算法&#xff0c;经过Base64 Url编码后形成…