茶·树·走
俄罗斯方块的 Golang 实现,遵循官方 2009 年俄罗斯方块设计指南。
该项目由三个主要部分组成,具体取决于您的目标:
cmd/tetrigo/
中的 TUI(文本用户界面)适合您。请参阅安装部分。pkg/tetris/modes/
中的软件包适合您。您可以通过自己的 UI 重用这些游戏模式。pkg/tetris/
中的软件包适合您。您可以使用一组自定义规则和要求创建自己的游戏模式。您可以在开发部分找到有关这些部分的更多信息。如果您有建议、错误或功能请求,请打开 GitHub 问题。
Tetrigo 可以通过下载二进制文件或从源代码构建来安装。请参阅以下说明了解您的首选方法。
您可以从 GitHub 上的发布页面下载与您的操作系统对应的二进制文件。
下载后,您可以从命令行运行二进制文件:
# Linux or macOS
./tetrigo
# Windows
tetrigo.exe
或者,您可以将二进制文件移动到$PATH
中的目录,以便从任何地方运行它(示例)。
确保您正确安装和设置了受支持的 Go 版本。您可以在 go.mod 文件中找到所需的最低 Go 版本。
然后,您可以通过运行以下命令来全局安装最新版本:
go install github.com/Broderick-Westrope/tetrigo/cmd/tetrigo@latest
或者您可以安装到另一个目录:
env GOBIN=/bin go install github.com/Broderick-Westrope/tetrigo/cmd/tetrigo@latest
有关如何玩俄罗斯方块的一般信息,请参阅本初学者指南。
默认游戏控制如下:
A
D
S
W
E
Q
Space
或Enter
Escape
Ctrl+C
?
可以在配置文件中更改游戏控件。
菜单、排行榜等可以使用方向键(移动)、退出(退出)和输入(提交)进行导航。这些控件是不可配置的。
不使用子命令或标志启动 Tetrigo 将在菜单中启动游戏,您可以在其中手动配置简单的设置,例如玩家名称和游戏模式:
./tetrigo
您还可以直接在游戏模式(例如马拉松)中开始游戏,跳过菜单:
# Start the game in Marathon mode with a level of 5 and the player name "Brodie"
./tetrigo play marathon --level=5 --name=Brodie
要查看启动游戏的更多选项,您可以运行:
./tetrigo --help
可以使用 TOML 文件完成更复杂的配置。如果没有找到配置文件,将使用合理的默认值。
默认情况下,Tetrigo 将在设备 XDG 配置(或等效)目录中查找文件./tetrigo/config.toml
。 adrg/xdg 为各种操作系统定义值XDG_CONFIG_HOME
(例如,在 macOS 上,它是~/Library/Application Support
目录,存在它将存储在那里,否则存储在~/Library/Preferences
中)。您可以使用--config
标志指定不同的文件。
./tetrigo --config=/path/to/config.toml
example.config.toml
中提供了示例配置文件。
游戏数据存储在 SQLite 数据库中。默认情况下,数据库存储在设备 XDG 数据(或等效)目录中的./tetrigo/tetrigo.db
中。 adrg/xdg 为各种操作系统定义XDG_DATA_HOME
(例如,在 macOS 上,如果~/Library/Application Support
目录存在,它将存储在那里,否则存储在/Library/Application Support
中)。您可以使用--db
标志指定不同的文件路径。
./tetrigo --db=/path/to/data.db
该项目由三个主要部分组成:
cmd/tetrigo/
:一个 TUI(文本用户界面),允许您开箱即用。它还演示了如何使用这些包以及如何使用 Bubble Tea 创建 TUI。pkg/tetris/modes/
:不同俄罗斯方块游戏模式的功能。这可用于轻松创建具有您自己的 UI 的俄罗斯方块游戏,但无需了解规则集。pkg/tetris/
:俄罗斯方块的核心逻辑,包括 Tetrminimos、Matrix 和计分等内容。这可用于根据您自己的规则集和要求创建游戏模式。Task 是本项目中使用的构建工具。任务配置位于 Taskfile.yaml 中。安装任务 CLI 后,您可以通过运行以下命令查看所有可用任务:
task -l
您可以使用run
任务运行 TUI:
task run
您可以使用build
任务构建项目:
task build
这将在bin/
目录中创建一个二进制文件,可以使用安装部分中的说明运行该二进制文件。
可以使用test
任务运行测试:
task test
您还可以使用cover
任务来生成并打开覆盖率报告:
task cover
测试的优先顺序是:
pkg/tetris/
pkg/tetris/modes/
cmd/tetrigo/