Skip to content

Tetris for your command line. Powered by ratatui and bevy_ecs.

Notifications You must be signed in to change notification settings

rakki194/fallingblocks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fallingblocks

A terminal-based Tetris game implemented in Rust using ratatui for the terminal UI and bevy_ecs for game logic.

Gameplay

Gameplay Demo

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 fallingblocks
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 loop
  • app.rs: Main application structure and state management
  • components.rs: ECS components for game entities
  • systems.rs: ECS systems that handle game logic
  • ui.rs: Terminal UI rendering code
  • game.rs: Game constants and configuration

License

MIT

About

Tetris for your command line. Powered by ratatui and bevy_ecs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages