茶·樹·走
俄羅斯方塊的 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/