mirror of
https://github.com/cmclark00/mintris.git
synced 2025-05-18 13:45:20 +01:00
124 lines
No EOL
2.7 KiB
Markdown
124 lines
No EOL
2.7 KiB
Markdown
# Mintris
|
|
|
|
A modern Tetris implementation for Android, featuring official Tetris rules, smooth animations, and responsive controls.
|
|
|
|
## Features
|
|
|
|
### Core Gameplay
|
|
- Official Tetris rules and mechanics
|
|
- 7-bag randomizer for piece distribution
|
|
- Hold piece functionality
|
|
- Ghost piece preview
|
|
- Hard drop and soft drop
|
|
- Wall kick system for rotations
|
|
- T-Spin detection and scoring
|
|
|
|
### Modern Android Features
|
|
- Optimized for Android 10+ (API 29+)
|
|
- Hardware-accelerated rendering
|
|
- High refresh rate support
|
|
- Haptic feedback
|
|
- Dark theme support
|
|
- Responsive touch controls
|
|
|
|
### Scoring System
|
|
|
|
The game features a comprehensive scoring system based on official Tetris rules:
|
|
|
|
#### Base Scores
|
|
- Single line: 40 points
|
|
- Double: 100 points
|
|
- Triple: 300 points
|
|
- Tetris (4 lines): 1200 points
|
|
|
|
#### Multipliers
|
|
|
|
1. **Level Multiplier**
|
|
- Score is multiplied by current level
|
|
- Level increases every 10 lines cleared
|
|
|
|
2. **Combo System**
|
|
- Combo counter increases with each line clear
|
|
- Resets if no lines are cleared
|
|
- Multipliers:
|
|
- 1 combo: 1.0x
|
|
- 2 combos: 1.5x
|
|
- 3 combos: 2.0x
|
|
- 4 combos: 2.5x
|
|
- 5+ combos: 3.0x
|
|
|
|
3. **Back-to-Back Tetris**
|
|
- 50% bonus (1.5x) for consecutive Tetris clears
|
|
- Resets if a non-Tetris clear is performed
|
|
|
|
4. **Perfect Clear**
|
|
- 2x for single line
|
|
- 3x for double
|
|
- 4x for triple
|
|
- 5x for Tetris
|
|
- Awarded when clearing lines without leaving blocks
|
|
|
|
5. **All Clear**
|
|
- 2x multiplier when clearing all blocks
|
|
- Requires no blocks in grid and no pieces in play
|
|
|
|
6. **T-Spin Bonuses**
|
|
- Single: 2x
|
|
- Double: 4x
|
|
- Triple: 6x
|
|
|
|
#### Example Score Calculation
|
|
A back-to-back T-Spin Tetris with a 3x combo at level 2:
|
|
```
|
|
Base Score: 1200
|
|
Level: 2
|
|
Combo: 3x
|
|
Back-to-Back: 1.5x
|
|
T-Spin: 6x
|
|
Final Score: 1200 * 2 * 3 * 1.5 * 6 = 64,800
|
|
```
|
|
|
|
### Controls
|
|
- Tap left/right to move piece
|
|
- Tap up to rotate
|
|
- Double tap to hard drop
|
|
- Long press to hold piece
|
|
- Swipe down for soft drop
|
|
|
|
## Technical Details
|
|
|
|
### Requirements
|
|
- Android 10 (API 29) or higher
|
|
- OpenGL ES 2.0 or higher
|
|
- 2GB RAM minimum
|
|
|
|
### Performance Optimizations
|
|
- Hardware-accelerated rendering
|
|
- Efficient collision detection
|
|
- Optimized grid operations
|
|
- Smooth animations at 60fps
|
|
|
|
### Architecture
|
|
- Written in Kotlin
|
|
- Uses Android Canvas for rendering
|
|
- Implements MVVM architecture
|
|
- Follows Material Design guidelines
|
|
|
|
## Building from Source
|
|
|
|
1. Clone the repository:
|
|
```bash
|
|
git clone https://github.com/yourusername/mintris.git
|
|
```
|
|
|
|
2. Open the project in Android Studio
|
|
|
|
3. Build and run on your device or emulator
|
|
|
|
## Contributing
|
|
|
|
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License - see the LICENSE file for details. |