使用 Deepgram ASR 提升您的 Wordle 游戏水平。
深词
大家好!这是我第一次在这里发表博客文章,也是第一次参加黑客马拉松。接下来的内容将概述我最近为了参加本次活动而进行的一个项目。
👉 目录(TOC)。
概述
在过去的几周里,我一直在开发一个基于 TUI 的世界著名文字游戏Wordle的克隆版本。
Wordle是什么?

如果你还没听说过 Wordle,要么你与世隔绝,要么你对新闻漠不关心。不管怎样,我都会为你介绍一下。Wordle 是一款基于网页的文字游戏,自 2022 年第一季度以来人气飙升。它拥有数百万活跃用户,而且用户数量还在不断增长,最近还被《纽约时报》以七位数的价格收购。这款游戏最令人印象深刻的是,它完全由一个人开发,这个人也是 Wordle 的开发者r/place,这使得 Wordle 成为一个绝佳的 Python 实践项目。
Wordle规则
游戏规则非常简单:
- 你需要猜出一个五字母的秘密单词。
- 你只有六次机会来猜这个词。
- 该词必须是有效的英文单词。
- 如果你猜对了单词,你就赢了;
- 当你提交答案时,字母将会高亮显示:
- 如果它们存在于秘密词语中,但位置错误,则显示为黄色。
- 如果位置正确,则显示为绿色。
- 如果单词中不包含任何提交的字母,则显示为黑色/灰色。

这款游戏的简单易上手是它广受欢迎的关键因素之一,因为普通人都能轻松掌握。如果您是一位老师,它还可以引导学生阅读和拼写。它简单易用,并且能够让文字游戏变得更有趣。Wordle 的理念是让文字游戏更具互动性,从而提高用户参与度和学习效果。
你可能在想,我应该为这次黑客马拉松重新制作这样一个游戏吗?这就是我们将在下一节中探讨的内容。
为什么是Wordle?

一开始,我花了几天时间寻找适合这次黑客马拉松的游戏创意。我随意地浏览网页,四处寻找灵感,然后偶然发现了热门游戏 Wordle。之后,我决定制作一个 Wordle 的克隆版,因为它具备一些核心特点:简单易上手、广受欢迎且玩家参与度高。
然后我想:“怎么样!不如玩Wordle的时候,不用打字,而是拼写单词!
或许我们还可以添加一个功能,让玩家像现在大多数人一样,只需按一下按钮,就能从终端上将每局游戏的结果分享到Twitter。这岂不是很酷!”

然后我突然意识到:“就是它了。这就是我的使命。这就是我必须参与这次活动的原因。”
于是deepwordle诞生了:一个基于TUI的 wordle 克隆版,由Python、Deepgram、Textual、Tweepy等技术驱动:-)。
提交类别
游戏玩家。
GitHub 代码链接
欢迎随时查看我在Github上的项目。也欢迎大家贡献代码。
deepwordle 是一款由 deepgram、textual、tweepy 等开发者提供的 Wordle 克隆游戏。
深词
deepwordle是一个基于 Python、Deepgram、Textual、Tweepy 等引擎的著名单词游戏的 TUI 克隆版。
1. 配置
1.1. Tweepy:
1.1.1. Twitter开发者账号:
请注意,您需要提供有关 API 使用案例的详细信息,以便加快审核您的请求的过程。
1.1.2. 创建应用:
您的申请获得批准后,系统会提示您创建应用程序,如下图所示:
或者,您可以访问:https://developer.twitter.com/en
- 点击该
developer portal面板。点击后,您将被重定向到您的控制面板。
- 导航至
Projects & Apps--> Overview,滚动到页面底部并点击Create App。
更多资源/信息

参与这个项目令人兴奋,因为它基于一个相对较新的TUI框架:Textual。光是这一点就让编码部分更有趣也更具挑战性,因为我需要学习一些新的东西,而不是运用我在其他框架(例如pygame和Tkinter)中的技能。
就我个人而言,我没有所谓的“最喜欢的”框架/语言,这可能是因为我“结果导向”的态度,使我始终专注于实现最终结果,而不管使用了什么工具来实现该最终目标。

另一方面,我之所以使用Python,是因为它自从大学毕业以来一直是我的首选语言,如果你一直关注我的动态,应该知道这一点。此外,我也不想花太多时间去记忆语言语法之类的东西。
除此之外,专家们可能会问:“你为什么要重新开发一个已经存在的工具/游戏?” 这只是一次编程练习;我只是想看看Python的功能到底有多强大。我也鼓励大家以更宽容的心态分享信息,无论你的动机是什么。
总之,回到我们的项目,下图展示了我们游戏的主要组成部分。

左侧面板应该显示你的猜测统计信息(例如猜测分布、当前连胜纪录等)。不过,由于我最近才发现这个黑客马拉松,所以还没来得及实现,但这个问题已经在这个 issue里记录了;以便将来开发!
屏幕中央的网格显示了提交单词的字母。每个字母本质上都是一个文本按钮,具有以下属性:
character按钮上会显示文本。
state字母的状态(例如在单词中、在位置中等)。
color:角色的样式,使用“前景在背景上”的表示法定义。例如:color = "白色在深蓝色背景上"
font_name:一个可以设置为“mini”、“small”、“standard”或“big”的字符串。

右侧有消息面板,可以帮助您了解游戏进程。
有关此游戏及其安装方法的更多信息,请参阅README 文件。
后续文章将逐一解释从零开始构建这个项目的每一步。
今天的博客就到这里啦。祝您编程愉快!

文章来源:https://dev.to/wiseai/level-up-your-wordle-game-with-deepgram-ai-4kj3