Files
Tetris/README.md
T
2025-03-18 11:22:33 +01:00

84 lines
3.2 KiB
Markdown

# Tetris
## Introduction: A Journey in Code
What started as a quest to sharpen my Python skills quickly became something much more exciting. I had brainstormed countless project ideas, but none of them truly matched my abilities or ignited my passion—until inspiration struck. Tetris.
The idea hit me like a falling tetromino, and I realized immediately it was the perfect fit. Simple at its core, yet challenging enough to push my skills, it embodied everything I was looking for. Not only is it a timeless and addictively fun game, but it's also the ideal starting point for diving into Pygame, a project that wouldn't rely on step-by-step tutorials.
**May my Journey begin**
***Made by ScriptSourcerer20 (and some help from the Internet)***
## Information
There are 2 Paths, Origin and rework. Reworked is the expansion and code improvment after i decided to improve the project a bit.
---
### **Core Game Mechanics (already functional)**
- [x] Implement Tetromino generation and colors.
- [x] Grid setup (10x20 array for blocks).
- [x] Basic Tetromino movement (left, right, down, rotation).
- [x] Collision detection (sides, bottom, stacking).
- [x] Tetromino locking into place.
- [x] Line clearing logic.
- [x] Hold functionality.
---
### **Step 1: Speed and Difficulty Progression**
1. [X] **Soft Drop**: Implement gradual acceleration when the player holds the down arrow.
2. [x] **Hard Drop**: Allow instant dropping with the spacebar.
3. **Leveling Up**:
- [x] Increase the falling speed after clearing a fixed number of lines.
- [ ] Adjust the scoring system to reward higher levels.
4. [x] Add game-over logic and screen when blocks reach the top.
---
### **Step 2: Additional Game Features**
1. **Next Tetromino Preview**:
- [x] Show the upcoming Tetromino in a small box.
2. **Ghost Piece**:
- [X] Display a transparent outline where the current Tetromino will land.
3. **Pause and Resume**:
- [x] Allow the game to pause (e.g., with the Escape key) and resume.
4. **Basic Leaderboard**:
- [X] Track high scores locally.
---
### **Step 3: Advanced Gameplay Enhancements**
1. **Themes and Visual Effects**:
- [ ] Add background or block skins for variety.
- [X] Implement line clear animations.
2. **Customizable Controls**:
- [X] Allow players to remap movement, rotation, and drop keys.
3. **Detailed Stats**:
- [ ] Track and display total lines cleared, playtime, and other statistics.
---
### **Step 4: Game Modes**
1. **Endless Mode**:
- [ ] Add a mode where gameplay continues indefinitely until game over.
2. **Timed Mode**:
- [ ] Create a mode with a time limit to score as many points as possible.
3. **Challenge Mode**:
- [ ] Introduce unique challenges, like pre-filled grids or specific goals.
4. [ ] Implement a simple game mode selection screen.
---
### **Step 6: Polishing**
1. [ ] **Sound Effects**:
- [ ] Add sounds for movement, rotation, line clears, and game over.
- [ ] Add a looping background music track.
2. [ ] **Animations**:
- [ ] Smooth transitions for Tetromino movement.
- [ ] Flashing effect when lines clear.
3. [ ] **UI Improvements**:
- [ ] Make the menu intuitive and visually appealing.
- [ ] Add instructions for controls and mechanics.