5 releases
Uses new Rust 2024
0.1.4 | Mar 28, 2025 |
---|---|
0.1.3 | Mar 28, 2025 |
0.1.2 | Mar 26, 2025 |
0.1.1 | Mar 26, 2025 |
0.1.0 | Mar 26, 2025 |
#139 in Games
432 downloads per month
3MB
4K
SLoC
fallingblocks
A terminal-based Tetris game implemented in Rust using ratatui
for the terminal UI and bevy_ecs
for game logic.
Screencast
Features
- Classic Tetris gameplay
- Terminal-based UI with colors
- Entity Component System (ECS) architecture
- Scoring system with levels
- Smooth animations and controls
Controls
- ←/→: Move tetromino left/right
- ↓: Soft drop (move down faster)
- ↑/Space: Rotate tetromino
- E: Hard drop (drop all the way down)
- Q: Quit the game
- Enter: Restart after game over
How to Run
Make sure you have Rust installed, then navigate to the game directory and run:
cd tetris
cargo run
Dependencies
This game uses the following dependencies:
- ratatui: Terminal UI library
- bevy_ecs: Entity Component System from the Bevy game engine
- fastrand: Fast random number generation
- crossterm: Terminal manipulation
- tracing: Logging
Code Structure
main.rs
: Entry point, sets up the terminal and game loopapp.rs
: Main application structure and state managementcomponents.rs
: ECS components for game entitiessystems.rs
: ECS systems that handle game logicui.rs
: Terminal UI rendering codegame.rs
: Game constants and configuration
License
MIT
Dependencies
~32–63MB
~1M SLoC