Tetris
Story
Dashie: "This is my line"
Kion: "This is my line"
Concept
Program
- Loading Game Assets
- Load images for the tetrominoes and background.
- Set up texture loading with SDL.
- Creating the Title Screen
- Display a title graphic.
- Implement a start button.
- Implementing the Game Loop
- Handle user input (arrow keys for movement).
- Update the tetromino's position.
- Check for collisions (with walls and other tetrominoes).
- Update the game board with tetromino positions.
- Manage the game board and clearing lines.
- Render the game board and tetrominoes.
- Handling Tetromino Movement
- Move tetromino down automatically at regular intervals.
- Speed up tetromino movement as the game progresses.
- Handling Tetromino Rotation
- Rotate tetromino clockwise or counterclockwise.
- Check for collisions after rotation.
- Generating New Tetrominoes
- Randomly select and generate new tetrominoes.
- Ensure tetrominoes spawn at the top center of the game board.
- Ending the Game
- End the game when tetrominoes reach the top of the screen.
- Display a game over message.
- Scoring
- Keep track of and display the player's score.
- Increment the score for each cleared line.
- Creating Success Screen
- Display a success message when a certain number of lines are cleared.
- Provide an option to restart the game.