https://github.com/khatastroffik/tetris
A "Khatastroffik" responsive Testris web application PoC using Angular, RxJs and pure CSS grid.
https://github.com/khatastroffik/tetris
angular css-grid css3 html5 proof-of-concept reactive-programming rxjs tetris
Last synced: 5 months ago
JSON representation
A "Khatastroffik" responsive Testris web application PoC using Angular, RxJs and pure CSS grid.
- Host: GitHub
- URL: https://github.com/khatastroffik/tetris
- Owner: khatastroffik
- Created: 2020-07-21T09:05:53.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-01-02T17:26:10.000Z (over 1 year ago)
- Last Synced: 2025-07-08T20:47:55.513Z (12 months ago)
- Topics: angular, css-grid, css3, html5, proof-of-concept, reactive-programming, rxjs, tetris
- Language: JavaScript
- Homepage:
- Size: 1.35 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tetris (work-in-progress)
A [Khatastroffik](https://www.khatastroffik.net) open source **Tetris** clone.
## Proof-of-Concept
This Angular web application is a **PoC** combining the following:
- [x] **SoC** (Separation of Concern) → decoupling UI and game engine implementation
- [x] **RMD** (Responsive and Mobile design) → playable with keyboard or buttons, sized for any device (not relying on media queries, though)
- [x] **ReactiveX** (Reactive Extensions) → asynchronous programming with **RxJs** observables
- [x] **CSS grid** (grid layout) → pure HTML5 & CSS3 design (requires use of a modern browser)
- [ ] **PWA** (Progressive Web App) → 1 source for "*browser*" or "*local install & offline*" usage
## Tetris game

The *well-known* **Tetris game** - hence having well-defined requirements - is implemented with respect to:
- [x] SRS
- [x] wall bounce back
- [x] progressive difficulty (up to 20 levels) and scoring (e.g. multiple rows)
- [x] pausable
- [x] ...
TODO: implement PWA (electron?)
TODO: improve README!
TODO: fix rotation bugs (on top of board, on the board sides)
TODO: refactor app component: create sub components for board, next tetromino etc.
TODO: implement help screen