0% found this document useful (0 votes)
4 views13 pages

Semester Project Report

The document outlines a semester project for a Tetris game developed as part of a Programming Fundamentals course. It details the game's scope, objectives, functional and technical requirements, and the rationale for building the game, emphasizing skill development and project ownership. The project aims to create an engaging and challenging experience for players while showcasing programming skills using C++ and a graphics library.

Uploaded by

242888
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views13 pages

Semester Project Report

The document outlines a semester project for a Tetris game developed as part of a Programming Fundamentals course. It details the game's scope, objectives, functional and technical requirements, and the rationale for building the game, emphasizing skill development and project ownership. The project aims to create an engaging and challenging experience for players while showcasing programming skills using C++ and a graphics library.

Uploaded by

242888
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

DEPARTMENT OF CREATIVE

TECHNOLOGIES
Semester Project: Tetris Game
Course Code: BSSE-F-24-B
Subject: Programming Fundamentals
Instructor: Sir Zain Abu Bakr
Date of Submission: January 3,2025
GROUP MEMBERS
NAME REG ID
AYESHA ALI 242232
BURHAN HAIDER 242228

1
2
TITLE OF PROJECT
TETRIS GAME

SCOPE OF THE GAME


The Tetris game involves arranging falling tetrominoes on a
10x20 grid to clear lines and earn points, with increasing
difficulty as levels progress. Players can rotate, move, and drop
pieces, aiming to avoid the stack reaching the top. Core features
include a scoring system, level progression, and real-time updates
for score and next piece. Optional enhancements like sound
effects, high-score tracking, and multiplayer add depth.
Developed in C++ with a graphics library like SFML, the project
focuses on smooth gameplay and creative design, showcasing
programming skills effectively.

KEY OBJECTIVES OF
TETRIS GAME
1. Arrange Tetrominoes: Players aim to position and stack
tetrominoes efficiently on the game grid.
2. Clear Lines: Form complete horizontal lines to remove them from
the grid and earn points.
3. Score Points: Maximize the score by clearing multiple lines at
once or performing advanced moves like "Tetrises."
4. Progress Through Levels: Survive longer to advance to higher
levels with faster tetromino fall speeds.
5. Avoid Game Over: Prevent the tetromino stack from reaching the
top of the grid.
6. Plan Strategically: Use the "next piece" preview to anticipate and
plan placements effectively.
3
7. Enhance Gameplay (Optional): Incorporate features like sound
effects, leaderboards, or multiplayer modes to boost engagement.
8. Challenge Players: Provide increasing difficulty to test player
reflexes and decision-making skills.

FUNCTIONAL
REQUIREMENTS OF
TETRIS GAME
1. Core Gameplay Requirements
 Tetromino Movement

 Players must be able to move tetrominoes left, right, and down


using keyboard controls.
 Tetrominoes should rotate clockwise and counterclockwise on
command.

 Grid Mechanics

 The game grid should be a fixed size (e.g., 10x20 cells).


 Tetrominoes must fit within the grid boundaries, and overlapping
pieces should not occur.

 Line Clearing

 Complete horizontal lines should be cleared automatically, with


blocks above shifting down.
 Award points for each cleared line, with bonuses for clearing
multiple lines simultaneously.

 Tetromino Generation

4
 Randomly generate one of the seven tetromino shapes (I, O, T, S,
Z, J, L) for each drop.
 Display the next tetromino to appear in a "preview" area.

 Game Over Condition

 The game ends when the stack of tetrominoes reaches the top of
the grid, and no more pieces can be placed.

2. Game Progression
 Level Progression

 Increase the speed of falling tetrominoes as the player clears lines


or progresses to higher levels.

 Scoring System

 Calculate scores based on the number of lines cleared:


o Single line: 100 points.
o Double line: 300 points.
o Triple line: 500 points.
o Tetris (4 lines): 800 points.
 Include bonuses for consecutive line clears or high-speed actions.

3. User Interface Requirements


 Real-Time Display

 Display the current score, level, and number of lines cleared during
gameplay.
 Show the next tetromino in a designated preview area.

 Start, Pause, and Restart

5
 Provide options to start a new game, pause/resume gameplay, and
restart from the beginning.

 Game Over Screen

 Display a "Game Over" message with the player's final score and
an option to restart.

4. Optional Enhancements
 Sound and Visual Effects

 Add sound effects for line clears, tetromino rotations, and game-
over events.
 Include visual animations for cleared lines and falling pieces.

 High Score Tracking

 Save and display a list of high scores to encourage replayability.

 Customization Options

 Allow players to select starting levels or customize grid size.

 Multiplayer Mode

 Introduce competitive or cooperative multiplayer modes, where


players compete or work together.

 Power-Ups (Optional)

 Include special tetrominoes or power-ups for unique effects, such


as clearing sections of the grid.

6
5. Technical Requirements
 Input Handling

 Support keyboard controls for movement, rotation, and dropping


tetrominoes.

 Graphics

 Use a graphics library (e.g., SFML, SDL) to render the grid,


tetrominoes, and UI elements.

 Performance

 Ensure smooth animations and minimal input lag during gameplay.

 Data Persistence

 Save high scores or player settings using file handling or a simple


database.

These functional requirements ensure a fully-featured and enjoyable


Tetris game while leaving room for optional advanced features.

Why Build Tetris?

1. Overcoming Challenges
 Helps tackle constant distractions by promoting sustained focus.
 Improves attention span by requiring continuous engagement.
7
 Encourages self-reliance instead of overusing AI tools for quick
solutions.

2. Skill Development
 Builds focus through step-by-step development of game
mechanics.
 Enhances the ability to break down problems into smaller,
manageable tasks.
 Strengthens problem-solving skills by addressing issues like
collision detection, scoring, and level progression.

3. Concentration and Project Ownership


 Teaches developers to concentrate on a project from start to
finish.
 Develops discipline and perseverance during the development
process.

4. Sense of Achievement
 Provides immense satisfaction upon completing a fully functional
game.
 Delivers a tangible and rewarding outcome that showcases
creativity and technical skills.

8
SCREENSHOTS

 GAME START

 GAME PROGRESSION

9
 GAME OVER
10
 GRAPHICS AND GAME LOOP
MANAGEMENT LIBRARY

11
DIAGRAMS
 FLOW CHART

12
 CLASS DIAGRAM

13

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy