A React-based minimalist implementation of the classic Tetris game.
| Action | Keys |
|---|---|
| Move Left | a / ArrowLeft |
| Move Right | d / ArrowRight |
| Rotate Clockwise | w / ArrowUp |
| Rotate Counter | z |
| Soft Drop | s / ArrowDown |
| Hard Drop | Space |
| Hold Piece | c |
| Pause Game | Escape |
- Game Grid: A 10x20 grid with an invisible top row.
- Super Rotation System: Fully implemented.
- Game Over: When new tetrominoes cannot spawn.
- Score Tracking: Simple scoring system based on rows cleared.
| Rows Cleared | Points |
|---|---|
| 1 | 100 |
| 2 | 300 |
| 3 | 500 |
| 4 | 800 |
- Better randomization: Could use a 7-bag system for regular frequency of tetrominoes.
- Scoring system: Could be more rewarding.
- T-spin detections.
- Back-to-back bonuses.
- Combos.
- Full clear bonuses.
- Speed system: Could introduce dynamic speed increases.
- Visuals: Could use more effects.
- Line clears and T-spins are not animated.
- Game overs are abrupt.
-
Clone the repository:
git clone https://github.com/crescmoon/app1
-
Navigate to the project directory:
cd app1 -
Install dependencies:
npm install
-
Start the development server:
npm start
-
Open the game in a browser at
http://localhost:3000.