Python 中的简单 FLAMES 游戏2024 年 8 月 29 日 | 阅读 6 分钟 Python 是一种用途广泛的编程语言,可以帮助程序员轻松完成各种活动。Python 也可以用于游戏开发。在接下来的教程中,我们将学习如何在不使用任何外部游戏库(如 PyGame)的情况下构建一个简单的 FLAMES 游戏。 但在开始之前,让我们简要了解一下 FLAMES 游戏是什么。 什么是 FLAMES 游戏?FLAMES 是一个根据首字母缩写命名的游戏:Friends(朋友)、Lovers(爱人)、Affectionate(深情)、Marriage(婚姻)、Enemies(敌人)、Siblings(兄弟姐妹)。这是年轻女孩在睡衣派对上非常流行的一种游戏,特别是在开始探索暗恋世界的十几岁女孩中。这个游戏并不能准确预测某人是否适合某人,但可以和朋友一起玩得很开心。 如何玩 FLAMES 游戏?FLAMES 游戏最初是在纸上玩的。因此,玩这个游戏的基本要求是笔/铅笔和纸。但是,我们将在电脑上玩这个游戏。因此,玩的方法包括以下步骤: 第一步:选择两个名字 我们将从写下两个名字开始。例如,我们将使用“LOID FORGER”和“YOR FORGER”。 第二步:取消两个名字中的重复字母 现在我们将取消两个名字中的重复字母,无论字母是大写还是小写。请注意,我们只需要取消一个名字中的一个重复字母,而不是所有重复的字母。 在上例中,从“LOID FORGER”和“YOR FORGER”中,我们将得到“LID”和“YR”。正如我们所观察到的,我们消除了 O、F、O、R、G、E 和 R 这几个重复字母。 第三步:计算剩余字母的数量 一旦我们消除了所有重复的字母,我们将计算两个名字中剩余字母的数量。 在上例中,我们将未划掉的字母组合起来得到“LIDYR”,并计算该单词的总字母数。结果是 5。 第四步:将数字与 FLAMES 首字母缩写进行比较并相应地删除字母。 现在我们将每个数字分配给首字母缩写中的每个字母,例如 1 到 F,2 到 L,3 到 A……,直到达到该数字。计数以逆时针圆周方式进行。如果到达首字母缩写的末尾,我们将重新开始计数,直到达到该数字。例如,6 到 S,那么 7 将从 F 开始,直到我们到达数字的末尾。 一旦我们到达末尾,我们将删除该字母并重新开始计数,直到只剩下一个字母。然后我们将结果与下表进行比较:
现在让我们考虑实现上述示例,并将我们获得的数字与 **FLAMES** 首字母缩写进行比较。
单词中总共有 5 个字母。我们将从 F 开始计数;E 是第五个字母,所以我们将删除 E 并重新开始计数;但是,这次我们将从 S 开始。
现在,M 是第五个字母,所以我们将删除 M 并从 S 开始计数。
S 是第五个字母,所以我们将删除 S 并从 F 开始计数。
L 是第五个字母,所以我们将删除 L 并从 A 开始计数。
A 是第五个字母,所以我们将删除 A。我们只剩下一个字母;因此,这就是最终答案。
因此,关系是 F,即朋友。 Python 中 FLAMES 游戏的实现我们将接受两个名字作为输入,然后删除公共字符及其各自的公共出现次数。为了删除,我们将创建一个用户定义的函数,该函数将分别存储两个玩家名字的字符列表,并返回连接列表的列表。一旦我们删除所有公共字符,我们将计算剩余字符的总数,并创建一个包含 FLAMES 首字母缩写的新列表,即 ["Friends", "Lovers", "Affectionate", "Marriage", "Enemies", "Siblings"]。然后,我们将使用我们获得的计数,逐个删除单词,直到列表中只剩下一个单词。列表中剩下的单词就是结果。 现在,让我们看以下代码片段,它演示了这一点。 文件:flames.py 说明 在上方的代码片段中,我们定义了一个名为 **eliminateCommonChars()** 的函数来删除公共字符及其各自的出现次数。此函数接受两个列表作为其参数。我们在此函数中使用了两个 **for** 循环来迭代这些列表。然后我们检查是否找到任何公共字符。然后我们删除该字符并使用 **True** 标志返回连接列表。如果未找到公共字符,则返回带有 **False** 标志的另一个连接列表。然后我们定义了主函数,该函数接受用户名字并将其转换为小写,将任何空格替换为空字符串,并创建一个字母或字符列表。然后我们分配一个初始标志 **True**。然后我们使用 **while** 循环并调用 **eliminateCommonChars()** 函数,直到找到公共字符或继续循环直到 proceed 标志为 **True**。然后我们计算列表中剩余的总字母数,并创建一个名为 **res** 的新列表,其中包含 FLAMES 首字母缩写。我们再次使用 **while** 循环并持续循环,直到 **res** 列表中只剩下一项。我们还存储了进行切片操作的索引值。为了执行逆时针圆周计数,我们必须检查拆分索引是否大于或等于零。最后,我们进行了列表切片和列表连接,并打印了结果。 现在让我们保存此 Python 文件,并在命令 shell 或终端中执行以下命令,然后查看输出: 命令 输出 1 First Player Name : LOID FORGER Second Player Name : YOR FORGER Relationship status : Friends 输出 2 First Player Name : STEVE ROGERS Second Player Name : PEGGY CARTER Relationship status : Lovers 下一个主题Python 中的带 GUI 的闹钟 |
在本教程中,我们将编写 Python 程序来查找给定列表中的更大元素。更大的元素是指数组中紧邻当前元素右侧且大于当前元素的元素。让我们看一下问题陈述。问题陈述给定一个...
阅读 3 分钟
在本教程中,我们将学习如何使用 Python 读取 HTML 表。我们知道,每天都会产生大量数据,我们需要提取相关信息。互联网是获取相关数据以满足我们需求的绝佳来源,并且...
5 分钟阅读
在下面的教程中,我们将了解如何借助 Python 编程语言读取 NetCDF 数据。但在我们开始之前,让我们简要了解一下 NetCDF 到底是什么。了解 NetCDF 网络通用数据格式(也称为 NetCDF)通常用于存储多维...
7 分钟阅读
在本教程中,我们将学习 Python 中的 Shutil 模块。我们将讨论如何使用 Python 脚本执行高级文件操作,例如创建新的复制文件并将其存档以及将内容从一个文件复制到另一个文件。让我们...
阅读 6 分钟
| PEP-8 的目的是什么?在本教程中,我们将学习 PEP-8 是什么以及如何在 Python 编码中使用它。我们将讨论在编程中使用 PEP 的指南 - 本教程面向初学者到中级用户。我们还将讨论……
阅读 10 分钟
Python 列表中的 Append、Extend 和 Insert 之间的区别:列表类似于动态大小的数组,在 C++ 中的 vector 或 Java 中的 Arraylist 等其他编程语言中声明。列表不一定是同质的,这是列表的主要原因...
阅读 3 分钟
树莓派是一款低成本、信用卡大小的计算机,由英国树莓派基金会开发,用于支持教育机构的基础计算机科学教学。此后,它因各种项目而在创客、爱好者和专家中广受欢迎。Python 是一种流行的、高级的...
阅读25分钟
在本文中,我们将讨论 Python 中的情感分析。这个应用程序再次证明了这种编程语言的多功能性。但在开始情感分析之前,让我们先了解一下我们都必须了解的背景知识——所以,这里我们将讨论——什么是...
5 分钟阅读
简介:在本文中,我们将讨论 Python 中的按位运算符。在 Python 中,有两种运算符:逻辑运算符和按位运算符。这里我们主要讨论按位运算符。Python 运算符通常用于处理值和参数。本教程将探讨一个特定的 Python...
阅读 6 分钟
NumPy 库用于在 Python 中创建白色空白图像的数字表示,以创建白色图像。此操作通常用作各种图像处理任务的起点,或作为创建图形和插图的画布。NumPy,缩写为...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India