Compare commits

1 Commits

Author SHA1 Message Date
ScriptSorcerer acf03fec06 Update README.md 2025-03-18 11:21:25 +01:00
+21 -29
View File
@@ -5,12 +5,15 @@
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. 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. 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.
This isn't just about coding; it's about building something I love from the ground up. And honestly? Writing this intro was almost as fun as watching the pieces fall into place!
**May my Journey begin** **May my Journey begin**
***Made by ScriptSourcerer20 (and some help from the Internet)*** ***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)** ### **Core Game Mechanics (already functional)**
@@ -25,9 +28,9 @@ This isn't just about coding; it's about building something I love from the grou
--- ---
### **Step 1: Speed and Difficulty Progression** ### **Step 1: Speed and Difficulty Progression**
1. [ ] **Soft Drop**: Implement gradual acceleration when the player holds the down arrow. 1. [X] **Soft Drop**: Implement gradual acceleration when the player holds the down arrow.
2. [x] **Hard Drop**: Allow instant dropping with the spacebar. 2. [x] **Hard Drop**: Allow instant dropping with the spacebar.
3. [ ] **Leveling Up**: 3. **Leveling Up**:
- [x] Increase the falling speed after clearing a fixed number of lines. - [x] Increase the falling speed after clearing a fixed number of lines.
- [ ] Adjust the scoring system to reward higher levels. - [ ] Adjust the scoring system to reward higher levels.
4. [x] Add game-over logic and screen when blocks reach the top. 4. [x] Add game-over logic and screen when blocks reach the top.
@@ -35,50 +38,39 @@ This isn't just about coding; it's about building something I love from the grou
--- ---
### **Step 2: Additional Game Features** ### **Step 2: Additional Game Features**
1. [x] **Next Tetromino Preview**: 1. **Next Tetromino Preview**:
- [x] Show the upcoming Tetromino in a small box. - [x] Show the upcoming Tetromino in a small box.
2. [ ] **Ghost Piece**: 2. **Ghost Piece**:
- [ ] Display a transparent outline where the current Tetromino will land. - [X] Display a transparent outline where the current Tetromino will land.
3. [x] **Pause and Resume**: 3. **Pause and Resume**:
- [x] Allow the game to pause (e.g., with the Escape key) and resume. - [x] Allow the game to pause (e.g., with the Escape key) and resume.
4. [ ] **Basic Leaderboard**: 4. **Basic Leaderboard**:
- [ ] Track high scores locally. - [X] Track high scores locally.
- [ ] Display the leaderboard after a game ends.
--- ---
### **Step 3: Advanced Gameplay Enhancements** ### **Step 3: Advanced Gameplay Enhancements**
1. [ ] **Themes and Visual Effects**: 1. **Themes and Visual Effects**:
- [ ] Add background or block skins for variety. - [ ] Add background or block skins for variety.
- [ ] Implement line clear animations. - [X] Implement line clear animations.
2. [ ] **Customizable Controls**: 2. **Customizable Controls**:
- [ ] Allow players to remap movement, rotation, and drop keys. - [X] Allow players to remap movement, rotation, and drop keys.
3. [ ] **Detailed Stats**: 3. **Detailed Stats**:
- [ ] Track and display total lines cleared, playtime, and other statistics. - [ ] Track and display total lines cleared, playtime, and other statistics.
--- ---
### **Step 4: Game Modes** ### **Step 4: Game Modes**
1. [ ] **Endless Mode**: 1. **Endless Mode**:
- [ ] Add a mode where gameplay continues indefinitely until game over. - [ ] Add a mode where gameplay continues indefinitely until game over.
2. [ ] **Timed Mode**: 2. **Timed Mode**:
- [ ] Create a mode with a time limit to score as many points as possible. - [ ] Create a mode with a time limit to score as many points as possible.
3. [ ] **Challenge Mode**: 3. **Challenge Mode**:
- [ ] Introduce unique challenges, like pre-filled grids or specific goals. - [ ] Introduce unique challenges, like pre-filled grids or specific goals.
4. [ ] Implement a simple game mode selection screen. 4. [ ] Implement a simple game mode selection screen.
--- ---
### **Step 5: Online Features**
1. [ ] **Enhanced Leaderboard**:
- [ ] Save high scores online (if possible).
- [ ] Allow comparing scores globally or with friends.
2. [ ] **Online Multiplayer** (long-term goal):
- [ ] Design competitive mechanics (e.g., sending garbage lines to opponents).
- [ ] Implement simple matchmaking or peer-to-peer play.
---
### **Step 6: Polishing** ### **Step 6: Polishing**
1. [ ] **Sound Effects**: 1. [ ] **Sound Effects**:
- [ ] Add sounds for movement, rotation, line clears, and game over. - [ ] Add sounds for movement, rotation, line clears, and game over.