成语补空游戏
项目开源,其他开发者使用产生的法律纠缠与作者无关
- 系统读取数据库中的成语,随机获取一条
- 对成语随机切割
- 对切割的字符串拼接,然后找形似的字用以迷惑用户
- 列出整理好的答案,用户输入对应的数字即可(后续可以改为界面点击)
- 判断结果(结果不保存,没有计分,可自行添加)
-
导入所需的模块:
os
:用于访问操作系统功能。random
:用于生成随机数。mysql.connector
:用于连接和操作MySQL数据库。CharacterMatcher
(通过similar_font
模块):用于获取相似字。
-
初始化全局变量:
global_idioms
:存储所有成语的列表。
-
从数据库初始化所有成语:
- 连接到MySQL数据库。
- 执行SQL查询,获取所有成语。
- 将成语存储在
global_idioms
列表中。
-
随机返回一个成语:
- 从
global_idioms
列表中随机选择一个成语并返回。
- 从
-
修改成语返回:
- 根据成语长度决定需要替换的字数。
- 随机选择要替换的字的位置。
- 构建一个新的被修改的成语,替换的位置用下划线代替,同时记录正确选项的字及其位置。
-
生成相似选项:
- 使用
character_matcher
获取与正确选项相似的字。 - 构建四个选项列表:一个是正确选项,另外三个分别是相似字列表中的三个字。
- 使用
-
游戏入口:
- 在无限循环中进行游戏(可以修改为接口触发)。
- 随机选择一个成语并进行修改。
- 生成相似选项。
- 输出被修改的成语及选项。
- 接收玩家输入,判断玩家是否猜对。
- 输出结果。
整个算法的主要逻辑是基于成语拼接游戏的需求构建的。
程序从数据库中获取成语,然后对其中一个成语进行修改,生成相关的选项供玩家选择。
玩家输入答案后,程序判断答案是否正确,并输出结果。
整个游戏逻辑相对简单,涉及到数据库访问、随机数生成和文本处理。
- 感谢Python社区为我们提供了丰富的标准库
- mysql-connector-python:用于连接和操作MySQL数据库。 GitHub 仓库:mysql-connector-python 感谢开发者们为我们提供了一个便捷的方式连接和操作MySQL数据库。
- OpenCV:用于图像处理和分析,特别是读取和处理图像文件。 官方网站:opencv 感谢OpenCV团队为图像处理领域提供了强大的工具和库。
- numpy:用于科学计算和数组操作。 官方网站:numpy 感谢numpy社区的贡献,使数学和数组操作变得更加方便。
- similar_font 采用CSDN上一篇博客的思想。感谢 山阴少年
- 如果有适用的链接,可以将其添加到感谢列表中。