paulo-granthon / rusty-tetris

A complete Tetris implementation in Rust, adhering to official guidelines (Super Rotation System, wall-kicks). Features singleplayer and local versus modes, memory efficient score tracking with .bin files, and customizable controls.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

unsafe forbidden

Rusty Tetris

A fully working implementation of Tetris in Rust following official guidelines, including the Super Rotation System that describes how the pieces should rotate and wall-kick.
Local Versus Mode to challenge friends on a 1v1 Tetris match.
Score system that tracks and saves the match history and the best scores to binary files.
Profile system capable of storing up to 16 different players by name to differentiate the scores generated during gameplay. Able to create, delete and rename profiles.
Settings screen to customize the controls for singleplayer and versus mode.

Try it out

  1. Download the latest release. Click here for direct download.
  2. Extract the .rar file
  3. Open "rusty_tetris.exe"

Screenshots

Title screen

Title

Single-player game

Single-player 1 Single-player 2

Versus mode

Versus mode

Game over

Game Over

Profiles

Profiles

Scores

Scores

Settings

Settings

Rebinding a key

Rebinding

Backlog

  • Single-player mode
  • Local versus Mode
  • Score history and best scores tracking
  • Persisting data with binary files
  • Profile system
  • Settings
  • Mouse support

References

Tetris - Wikipedia page
Super Rotation System - Rotation system guidelines
Random Generator - Pseudo-random piece sequence generator guidelines

Technologies

Rust - the programming language
doryen-rs - rendering library

About

A complete Tetris implementation in Rust, adhering to official guidelines (Super Rotation System, wall-kicks). Features singleplayer and local versus modes, memory efficient score tracking with .bin files, and customizable controls.

License:MIT License


Languages

Language:Rust 100.0%