# tet-ris ![Build Status](https://github.com/manorajesh/tet-ris/actions/workflows/MacOS.yml/badge.svg) ![Build Status](https://github.com/manorajesh/tet-ris/actions/workflows/Linux.yml/badge.svg) ![Build Status](https://github.com/manorajesh/tet-ris/actions/workflows/Windows.yml/badge.svg) ![Downloads](https://img.shields.io/crates/d/tet-ris) ![Version](https://img.shields.io/crates/v/tet-ris) ![License](https://img.shields.io/crates/l/tet-ris) [Civil-War-Reenactment](https://www.reddit.com/r/programming/comments/wu56a0/comment/ilauaz0/?utm_source=share&utm_medium=web3x) Style of Tetris 1984 (with some quality-of-life improvements) in Rust! play upside-down as well! [![demo](https://asciinema.org/a/0PSmnvMDN4jZkJEKsC8J1bZTG.svg)](https://asciinema.org/a/0PSmnvMDN4jZkJEKsC8J1bZTG?t=5?autoplay=1) ## Installation ```shell cargo install tet-ris ``` or ```shell $ git clone https://github.com/manorajesh/tet-ris.git $ cargo build --release ``` ## Usage ```shell tet-ris ``` ### `-h` Output ```shell Play Tetris 1984ish in your terminal! Usage: tet-ris [OPTIONS] Options: -g, --ghost Disable ghost piece shown at the bottom of the board -c, --hold Disable hold piece with 'c' key -t, --tick Gravity speed for the game [default: 10] -s, --save Path to save file [default: save.tetris] --chars <2 CHARACTERS> Characters to use for tetrominoes [default: ██] --no-colors Disable colors -o, --original Return to 1984 Tetris --sirtet Play Sirtet (Upside-down Tetris) -h, --help Print help (see more with '--help') -V, --version Print version ``` ### How to Play The objective of Tetris is to move and rotate falling pieces called tetrominoes in order to create complete horizontal lines. When a line is complete, it will be cleared, and the lines above it will drop down. The game becomes progressively faster as you clear more lines and level up. ### Controls * `Left Arrow`: Move the active piece left. * `Right Arrow`: Move the active piece right. * `Down Arrow`: Move the active piece down (soft drop). * `Up Arrow`: Rotate the active piece clockwise. * `Space`: Hard drop the active piece. * `C`: Hold the active piece. * `P`: Pause the game. * `Q`: Quit the game. ### Gameplay Images