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

news2024/11/18 19:46:24

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高忆管理:大盘缩量震荡短期面临方向选择

大盘连续震荡格局&#xff0c;周四缩量小幅回调。 沪指当日低开震荡&#xff0c;盘中最低探至5日均线附近止跌&#xff0c;收盘跌幅有所收窄。深成指相同低开低走&#xff0c;盘中时刻短翻红后再度震荡回落。到收盘&#xff0c;沪指报收3119.88点&#xff0c;跌落0.55%&#x…

VScode远程连接主机

一、前期准备 1、Windows安装VSCode&#xff1b; 2、在VSCode中安装PHP Debug插件&#xff1b; 3、安装好Docker 4、在容器中安装Xdebug ①写一个展现phpinfo的php文件 <?php phpinfo(); ?>②在浏览器上打开该文件 ③复制所有信息丢到Xdebug: Installation instr…

骨传导耳机会影响听力吗?这是真的吗?

首先正常的使用骨传导耳机并不会影响我们的听力&#xff01;那是为什么呢&#xff1f;&#xff1f; 因为骨传导是一种声音传导方式&#xff0c;可以通过人的颅骨、骨迷路、内耳淋巴液传递、螺旋器、听神经、听觉中枢来传递声波。 相对于通过耳道声波的经典声音传导方式&#x…

Mysql批量插入大量数据的方法

使用存储过程进行插入&#xff0c; 在navicate中示例如下&#xff1a; 输入需要的参数点击完成 在begin end中输入代码&#xff0c;示例代码如下 CREATE DEFINERskip-grants userskip-grants host PROCEDURE batch_insert() BEGINdeclare i int default 0; set i0;while i<1…

探秘C语言扫雷游戏实现技巧

本篇博客会讲解&#xff0c;如何使用C语言实现扫雷小游戏。 0.思路及准备工作 使用2个二维数组mine和show&#xff0c;分别来存储雷的位置信息和排查出来的雷的信息&#xff0c;前者隐藏&#xff0c;后者展示给玩家。假设盘面大小是99&#xff0c;这2个二维数组都要开大一圈…

解码注意力Attention机制:从技术解析到PyTorch实战

目录 引言历史背景重要性 二、注意力机制基础概念定义组件 注意力机制的分类举例说明 三、注意力机制的数学模型基础数学表达式注意力函数计算权重 数学意义举例解析 四、注意力网络在NLP中的应用机器翻译代码示例 文本摘要代码示例 命名实体识别&#xff08;NER&#xff09;代…

通过starrocks jdbc外表查询sqlserver

1.sqlserver环境准备&#xff0c;使用docker环境&#xff0c;可以参考使用flink sqlserver cdc 同步数据到StarRocks_gongxiucheng的博客-CSDN博客 部署获得sqlserver环境&#xff1b; 2.获取starrocks环境&#xff0c;也可以通过docker部署&#xff0c;参考&#xff1a;使用…

openlayers-15-坐标添加带箭头的线

ol的官网示例中有绘制带箭头的线的demo&#xff0c;那个是交互式绘制&#xff0c;而不是根据经纬度坐标添加&#xff0c;在其基础上稍作修改&#xff0c;即可转为通过经纬度添加带箭头的线的功能&#xff0c;线和箭头的粗细大小样式都可以自定义 代码如下 <!DOCTYPE HTML P…

Mybatis 动态SQL – 使用if, where标签动态生成条件语句

前面几篇我们介绍了使用Mybatis进行数据的增删改查&#xff0c;并且也了解了如何在Mybatis中使用JDK的日志系统打印日志&#xff1b;本篇我们继续介绍如何使用Mybatis提供的if,where标签动态生成条件语句。 如果您对数据的增删改查和Mybatis集成JDK日志系统不太了解&#xff0…

iOS开发Swift-7-得分,问题序号,约束对象,提示框,类方法与静态方法-趣味问答App

1.根据用户回答计算得分 ViewController.swift: import UIKitclass ViewController: UIViewController {var questionIndex 0var score 0IBOutlet weak var questionLabel: UILabel!IBOutlet weak var scoreLabel: UILabel!override func viewDidLoad() {super.viewDidLoad()…

QGIS合并矢量图层后layer属性显示不全 | QGIS踩坑实录

省流 QGIS【合并矢量图层】&#xff0c;自动生成layer字段时&#xff0c;遇到图层名中的“.”等不支持的字符会自动截断 问题描述 使用QGIS的【合并矢量图层】功能时&#xff0c;在合并结果中&#xff0c;QGIS会自动添加一个layer字段&#xff0c;用来记录当前数据是来自合并…

CPSC上月召回案例涉及多款常见产品有哪些?

CPSC上月召回案例涉及多款常见产品有哪些&#xff1f; ​每年的夏末秋初为美国产品热销节日&#xff08;感恩节、万圣节、黑五&#xff09;的备货期&#xff0c;卖家在大量备货的同时&#xff0c;务必保障自身产品通过相关安全测试&#xff0c;以免造成不必要的损失&#xff0…

字节美团题库之重排链表

文章目录 题目详情题目分析完整实现Java代码总结 题目详情 注&#xff1a;面试真实遇到&#xff0c;对于面试遇到算法时要冷静分析 LCR 026 给定一个单链表 L 的头节点 head &#xff0c;单链表 L 表示为&#xff1a; L0 → L1 → … → Ln-1 → Ln 请将其重新排列后变为&am…

ChatGPT数据分析及作图插件推荐-Code Interpreter

今天打开chatGPT时发现一个重磅更新&#xff01;code interpreter插件可以使用了。 去查看openai官网&#xff0c;发现从2023.7.6号&#xff08;前天&#xff09;开始&#xff0c;code interpreter插件已经面向所有chatGPT plus用户开放了。 为什么说code interpreter插件是一…

国产工业软件的挑战与机遇:风口是否还在燃烧?

随着智能制造与数字化转型等新型工业理念的推广&#xff0c;工业软件在工业领域中的地位日益重要。在这个过程中&#xff0c;国产工业软件也迎来了新的发展机遇。然而&#xff0c;对于国产工业软件而言&#xff0c;是否存在着发展的“风口”&#xff1f;今天&#xff0c;我们将…

使用 SQL 的方式查询消息队列数据以及踩坑指南

Pulsar-sql.png 背景 为了让业务团队可以更好的跟踪自己消息的生产和消费状态&#xff0c;需要一个类似于表格视图的消息列表&#xff0c;用户可以直观的看到发送的消息&#xff1b;同时点击详情后也能查到消息的整个轨迹。 消息列表 点击详情后查看轨迹 原理介绍 由于 Pulsar …

双轨制的发展,弊端和前景

双轨制是一种经济体制&#xff0c;指两种不同的规则或机制并行运行&#xff0c;以适应不同的市场或客户需求。双轨制最早出现在中国的改革开放中&#xff0c;是从计划经济向市场经济过渡的一种渐进式改革方式。 双轨制的发展可以分为三个阶段&#xff1a; 第一阶段&#xff08;…

JVM调优指令参数

常用命令查找文档站点&#xff1a;https://docs.oracle.com/javase/8/docs/technotes/tools/unix/index.html -XX:PrintFlagsInitial 输出所有参数的名称和默认值&#xff0c;默认不包括Diagnostic和Experimental的参数。可以配合 -XX:UnlockDiagnosticVMOptions和-XX:UnlockEx…

PM3328B-6-1-3-E 可用于远程开/关及其外部控制电路

PM3328B-6-1-3-E 可用于远程开/关及其外部控制电路 焊接机器人、高频放大器、工具机、电解槽等工业应用通常需要在恶劣的环境中工作&#xff0c;这就要求电源在不通风的情况下提供高功率。在这种情况下&#xff0c;传导冷却适用&#xff0c;因此电源必须设计为保证高水平的性能…

SpringCloud--从零开始搭建微服务基础环境入门教程【一】

&#x1f600;前言 本篇博文是关于SpringCloud–从零开始搭建微服务基础环境入门教程【一】&#xff0c;希望你能够喜欢&#x1f609; &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮…