Coder Social home page Coder Social logo

paulo-granthon / rusty-tetris Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 0.0 425 KB

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

Rust 100.00%
game-development game-engine rust system-programming tetris-clone

rusty-tetris's Introduction

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

rusty-tetris's People

Contributors

paulo-granthon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.