{"id":18944486,"url":"https://github.com/null93/tetris","last_synced_at":"2026-03-26T01:30:20.198Z","repository":{"id":84487880,"uuid":"56273753","full_name":"null93/tetris","owner":"null93","description":"Tetris game clone for CS342 at the University of Illinois at Chicago","archived":false,"fork":false,"pushed_at":"2019-04-30T03:53:30.000Z","size":21207,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-01T00:22:48.207Z","etag":null,"topics":["game-clone","java-game","maven","tetris"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/null93.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-14T22:25:04.000Z","updated_at":"2020-05-13T14:05:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"95126d17-b7b9-41fb-a054-6bd317bf65c6","html_url":"https://github.com/null93/tetris","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/null93%2Ftetris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/null93%2Ftetris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/null93%2Ftetris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/null93%2Ftetris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/null93","download_url":"https://codeload.github.com/null93/tetris/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239945821,"owners_count":19722858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-clone","java-game","maven","tetris"],"created_at":"2024-11-08T12:47:06.332Z","updated_at":"2026-03-26T01:30:20.140Z","avatar_url":"https://github.com/null93.png","language":"Java","readme":"# Tetris\n\u003e Tetris game clone for CS342 at the University of Illinois at Chicago\n\n![MIT License](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)\n![Version 1.0.0](https://img.shields.io/badge/Version-1.0.0-yellow.svg?style=for-the-badge)\n\n\u003cp align=\"center\" \u003e\n\t\u003cimg src=\"docs/images/screen_shot.png\" width=\"700\" /\u003e\n\u003c/p\u003e\n\n## About\n\nThe two design patterns used in this project are **Factory** and **Singleton**. **Factory** pattern occurs in Tetromino ([Tetromino.java](src/main/java/com/tetris/Tetromino.java)) and all the Sub TetrominoX classes. We implemented our tetrominoes such that the parent _Tetromino_ class deals with all the movements and the modifications we make to the tetrominoes and the subclasses just deal with creating a tetromino with a specific spawning coordinates. **Singleton** pattern occurs in the _Shadow_ class ([Shadow.java](src/main/java/com/tetris/Shadow.java)). This class, whose job is to spawn a shadow of the current piece, is implemented in such a way that an instance of shadow can not be made and has static methods.\n\n## Building \u0026 Running \u0026 Cleaning\n\nThis project uses Maven as it's build system. If you would like to build and run the application from source, then the following commands will prove useful.\n\n#### Compile Classes \u0026 Package JAR\n\n```shell\nmvn package\n```\n\n#### Run Main Class From JAR\n\n```shell\njava -cp target/tetris-1.0.0.jar com.tetris.Tetris\n```\n\nOnce the program launches, you can play the game using the on-screen buttons. Alternatively, open **Information \u003e Help** to get playing instructions and keyboard shortcuts.\n\n#### Clean Generated Files\n\n```shell\nmvn clean\n```\n\n\u003e **Note**: This will not delete the var folder that contains your highscores.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnull93%2Ftetris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnull93%2Ftetris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnull93%2Ftetris/lists"}