ttrys
is what happens if you mix the TTY
with RuSt
.
This code is mainly used for playful exploration of the Rust language and other stuff. Don't expect a perfect, competitive caliber Tetris implementation. Working in a terminal imposes some limitations, most of the heavy lifting is done by the crossterm crate.
$ cargo run --release
[left]/[right]
move
[up]/[down]
rotate
[space]
hard-drop
[P]
pause
[Esc]
quit
- Display glitches: sometimes an unwanted escape sequence is drawn; sreen tearing due to unoptimal cursor management
- Piece motions are basics (no "wall kick" motions)
- Not tested on Windows terminals
- Configurability: key bindings, color theme, stack size, gameplay options, etc.
- Better display method to limit artifacts
- Use the alternate terminal buffer when available
- Display a ghost piece to aid hard dropping; implement soft dropping
- Implement cascading gravity when clearing rows
- Add testing facilities to validate behavior
- Gameplay extras: random garbage penalties, score combos, wall traversing pieces, etc.
- Multi-player