teh·pohon·pergi
Implementasi Golang dari Tetris, mengikuti Pedoman Desain Tetris resmi tahun 2009.
Proyek ini terdiri dari tiga komponen utama, bergantung pada tujuan Anda:
cmd/tetrigo/
cocok untuk Anda. Lihat bagian instalasi.pkg/tetris/modes/
ditujukan untuk Anda. Anda dapat menggunakan kembali mode permainan ini dengan UI Anda sendiri.pkg/tetris/
ditujukan untuk Anda. Anda dapat membuat mode permainan Anda sendiri dengan serangkaian aturan dan persyaratan khusus.Anda dapat menemukan informasi lebih lanjut tentang bagian ini di bagian pengembangan. Jika Anda memiliki saran, bug, atau permintaan fitur, silakan buka masalah GitHub.
Tetrigo dapat diinstal dengan mengunduh biner atau membangun dari sumber. Lihat petunjuk di bawah untuk metode pilihan Anda.
Anda dapat mengunduh biner yang sesuai dengan sistem operasi Anda dari halaman rilis di GitHub.
Setelah diunduh, Anda dapat menjalankan biner dari baris perintah:
# Linux or macOS
./tetrigo
# Windows
tetrigo.exe
Secara opsional, Anda dapat memindahkan biner ke direktori di $PATH
Anda untuk menjalankannya dari mana saja (contoh).
Pastikan Anda telah menginstal dan mengatur versi Go yang didukung dengan benar. Anda dapat menemukan versi minimum Go yang diperlukan di file go.mod.
Anda kemudian dapat menginstal rilis terbaru secara global dengan menjalankan:
go install github.com/Broderick-Westrope/tetrigo/cmd/tetrigo@latest
Atau Anda dapat menginstal ke direktori lain:
env GOBIN=/bin go install github.com/Broderick-Westrope/tetrigo/cmd/tetrigo@latest
Untuk informasi umum tentang cara bermain Tetris, lihat panduan pemula ini.
Kontrol permainan default adalah sebagai berikut:
A
D
S
W
E
Q
Space
atau Enter
Escape
Ctrl+C
?
Kontrol permainan dapat diubah di file konfigurasi.
Menu, papan peringkat, dll dapat dinavigasi menggunakan tombol panah (bergerak), escape (keluar), dan enter (kirim). Kontrol ini tidak dapat dikonfigurasi.
Memulai Tetrigo tanpa subperintah atau tanda akan memulai permainan di menu tempat Anda dapat mengonfigurasi pengaturan sederhana secara manual seperti nama pemain dan mode permainan:
./tetrigo
Anda juga dapat memulai permainan secara langsung dalam mode permainan (misalnya Marathon), melewati menu:
# Start the game in Marathon mode with a level of 5 and the player name "Brodie"
./tetrigo play marathon --level=5 --name=Brodie
Untuk melihat lebih banyak opsi untuk memulai permainan, Anda dapat menjalankan:
./tetrigo --help
Konfigurasi yang lebih kompleks dapat dilakukan dengan menggunakan file TOML. Jika tidak ada file konfigurasi yang ditemukan, default yang masuk akal akan digunakan.
Secara default, Tetrigo akan mencari file ./tetrigo/config.toml
di dalam direktori konfigurasi XDG perangkat (atau yang setara). adrg/xdg mendefinisikan nilai XDG_CONFIG_HOME
untuk berbagai sistem operasi (mis. pada macOS, direktori ~/Library/Application Support
ada maka akan disimpan di sana, jika tidak di ~/Library/Preferences
). Anda dapat menentukan file lain menggunakan flag --config
.
./tetrigo --config=/path/to/config.toml
Contoh file konfigurasi disediakan di example.config.toml
.
Data permainan disimpan dalam database SQLite. Secara default, database disimpan di ./tetrigo/tetrigo.db
dalam direktori data perangkat XDG (atau yang setara). Adrg/xdg mendefinisikan XDG_DATA_HOME
untuk berbagai sistem operasi (mis. di macOS jika direktori ~/Library/Application Support
ada maka akan disimpan di sana, jika tidak di /Library/Application Support
). Anda dapat menentukan jalur file yang berbeda menggunakan flag --db
.
./tetrigo --db=/path/to/data.db
Proyek ini terdiri dari tiga komponen utama:
cmd/tetrigo/
: TUI (Antarmuka Pengguna Teks) yang memungkinkan Anda memainkannya secara langsung. Ini juga sebagai demonstrasi cara penggunaan paket dan cara membuat TUI menggunakan Bubble Tea.pkg/tetris/modes/
: Fungsionalitas untuk mode permainan Tetris yang berbeda. Ini dapat digunakan untuk membuat game Tetris dengan mudah dengan UI Anda sendiri tetapi tanpa perlu mengetahui aturannya.pkg/tetris/
: Logika inti Tetris, termasuk hal-hal seperti Tetrminimos, Matriks, dan penilaian. Ini dapat digunakan untuk membuat mode permainan dengan aturan dan persyaratan Anda sendiri.Tugas adalah alat pembangunan yang digunakan dalam proyek ini. Konfigurasi Tugas ada di Taskfile.yaml. Setelah Task CLI diinstal, Anda dapat melihat semua tugas yang tersedia dengan menjalankan:
task -l
Anda dapat menjalankan TUI menggunakan tugas run
:
task run
Anda dapat membangun proyek menggunakan tugas build
:
task build
Ini akan membuat biner di direktori bin/
yang dapat dijalankan menggunakan instruksi di bagian Instalasi.
Pengujian dapat dijalankan menggunakan tugas test
:
task test
Anda juga dapat menggunakan tugas cover
untuk membuat dan membuka laporan cakupan:
task cover
Urutan prioritas pengujian adalah:
pkg/tetris/
pkg/tetris/modes/
cmd/tetrigo/