Abhishek Tiwari
Abhishek Tiwari
CERTIFICATE
TEACHER’S SIGNATURE
TABLE OF CONTANTS
1. ACKNOWLEDGEMENT 4
2. INTRODUCTION 5
4. PROPOSED SYSTEM 8
7. FLOW CHART 21
8. SOURCE CODE 22
9. OUTPUT 26
10. TESTING 27
12. BIBLIOGRAPHY 31
ACKNOWLEDGEMENT
Apart from the efforts of me, the success of any project depends
largely on the encouragement and guidelines of many others. I take
this opportunity to express my gratitude to the people who have
been instrumental in the successful completion of this project.
I express deep sense of gratitude to almighty God for giving me
strength for the successful completion of the project.
I express my heartfelt gratitude to my parents for constant
encouragement while carrying out this project.
I gratefully acknowledge the contribution of the individuals who
contributed in bringing this project up to this level, who continues to
look after me despite my flaws.
I express my deep sense of gratitude to the luminary S P SHARMA
SIR who has been continuously motivating and extending their
helping hand to us.
My sincere thanks to S P SHARMA SIR, Master in-charge. A guide,
Mentor all the above a friend, who critically reviewed my project and
helped in solving each and every problem, occurred during
implementation of the project.
The guidance and support received from all the members who
contributed and who are contributing to this project, was vital for
the success of the project. I am grateful for their c constant support
and help
The primary objective of the Flappy Bird game project is to design and
develop a fully functional, engaging, and challenging mobile game that
replicates the mechanics and appeal of the original Flappy Bird. This
project aims to achieve several specific goals:
PROPOSED SYSTEM
The proposed system for the Flappy Bird game project aims to create a
high- quality, user-friendly, and engaging game that replicates the core
mechanics of the original Flappy Bird while adding potential
enhancements for improved user experience. The system will be developed
using a suitable game development framework, such as Unity or Pygame,
to ensure flexibility, scalability, and compatibility across different
platforms, particularly mobile devices.
Core Features:
Assess project risks Identify and initiate risk mitigation actions, and
Develop high-level technical architecture, process models, data
models, and a concept of operations.
This phase explores potential technical solutions within the context of
the business need.
It may include several trade-off decisions such as the decision to use
COTS software products as opposed to developing custom software or
reusing software components, or the decision to use an incremental
delivery versus a complete, onetime deployment.
Construction of executable prototypes is encouraged to evaluate
technology to support
The System Boundary Document serves as an important reference
document to support the Information Technology Project Request
(ITPR) process. The ITPR must be approved by the State CIO before the
project can move forward.
PLANNING PHASE
The planning phase is the most critical step in completing
development, acquisition, and maintenance projects. Careful planning,
particularly in the early stages of a project, is necessary to coordinate
activities and manage project risks effectively. The depth and formality
of project plans should be commensurate with the characteristics and
risks of a given project.
Project plans refine the information gathered during the initiation
phase by further identifying the specific activities and resources
required to complete a project. A critical part 12 STUDENT NAME S P
SHARMA SIR (TEACHER NAME) of a project manager’s job is to
coordinate discussions between user, audit, security, design,
development, and network personnel to identify and document as
many functional, security, and network requirements as possible.
During this phase, a plan is developed that documents the approach to
be used and includes a discussion of methods, tools, tasks, resources,
project schedules, and user input. Personnel assignments, costs,
project schedule, and target dates are established.
A Project Management Plan is created with components related to
acquisition planning, configuration management planning, quality
assurance planning, concept of operations, system security,
verification and validation, and systems engineering management
planning.
Further define and refine the functional and data requirements and
document them in the Requirements Document.
Complete business process reengineering of the functions to be
supported (i.e., verify 13 STUDENT NAME S P SHARMA SIR (TEACHER
NAME) what information drives the business process, what
information is generated, who generates it, where does the
information go, and who processes it).
Develop detailed data and process models (system inputs, outputs,
and the process.
Develop the test and evaluation requirements that will be used to
determine acceptable system performance
DESIGN PHASE
The design phase involves converting the informational, functional, and
network requirements identified during the initiation and planning phases
into unified design specifications that developers use to script programs
during the development phase. Program designs are constructed in
various ways. Using a top-down approach, designers first identify and link
major program components and interfaces, then expand design layouts
as they identify and link smaller subsystems and connections. Using a
bottom-up approach, designers first identify and link minor program
components and interfaces, then expand design layouts as they identify
and link larger systems and connections.
These include:
DEVELOPMENT PHASE
The development phase involves converting design specifications into
executable programs. Effective development standards include
requirements that programmers and other project participants discuss
design specifications before programming begins. The procedures help 15
STUDENT NAME S P SHARMA SIR (TEACHER NAME) ensure programmers
clearly understand program designs and functional requirements.
Programmers use various techniques to develop computer programs. The
large transaction oriented programs associated with financial institutions
have traditionally been developed using procedural programming
techniques. Procedural programming involves the line-byline scripting of
logical instructions that are combined to form a program. Effective
completion of the previous stages is a key factor in the success of the
Development phase.
IMPLEMENTATION PHASE
This phase is initiated after the system has been tested and accepted by
the user. In this phase, the system is installed to support the intended
business functions. System performance is compared to performance
objectives established during the planning phase. Implementation
includes user notification, user training, installation of hardware,
installation of software onto production computers, and integration of
the system into daily work processes. This phase continues until the
system is operating in production in accordance with the defined user
requirements
FLOW CHART
SOURCE CODE
import pygame
import
random
import sys
pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode((800,
600)) pygame.display.set_caption("FLAPPY
BIRDS")
# BIRD
x = 200
y = 300
jump = 0
speed = 0.5
# PIPES
pipe1 = [800, 0, 50, random.randint(20, 250)]
pipe2 = [400, 0, 50, random.randint(50, 250)]
Pipes = [pipe1, pipe2]
def
draw_pipes(pipe):
# Draw top pipe
pygame.draw.rect(screen, (0, 255, 0), (pipe[0], pipe[1],
pipe[2], pipe[3]))
# Draw bottom pipe
pygame.draw.rect(screen, (0, 255, 0), (pipe[0], 150 +
pipe[3], pipe[2], 450 - pipe[3]))
score = 0
running =
True while
running:
screen.fill((120, 120, 255))
pygame.QUIT:
running = False
pygame.quit()
sys.exit()
if event.type ==
pygame.KEYDOWN: if event.key
== pygame.K_SPACE:
jump = 1
if event.type == pygame.KEYUP:
if event.key ==
pygame.K_SPACE: jump = 0
# BIRD MOVEMENT
draw_circle(x, y)
if jump == 1:
y -= 3
else:
y += speed
# PIPE MOVEMENT
for i in Pipes:
draw_pipes(i)
i[0] -= 3
if i[0] < 0:
i[0] = 800
clock.tick(30)
pygame.display.update()
OUTPUT
TESTING
Software Testing is an empirical investigation conducted to provide With
Information about the quality of the product or service under test
stakeholders a with respect to the context which it is intended to operate.
Software Testing also provides an objective, independent view of the
software to allow the business to appreciate and understand the risks at
implementation of the software. Test techniques include, but are not
limited to, the process of executing a program or application with the
intent of finding software bugs. It can also be stated as the process of
validating and verifying that a software program/application/product
meets the business and technical requirements that guided its design and
development, so that it works as expected and can be implemented with
the same characteristics. Software Testing, depending on the testing
method employed, can be implemented at any time in the development
process, however the most test effort is employed after the requirements
have been defined and coding process has been completed.
TESTING METHODS
Software testing methods are traditionally divided into black box testing.
These one approaches are used to describe the point of view that a test
engineer takes when designing test cases.
Black box testing treats the software as a "black box, without any
knowledge of internal implementation. Black box testing methods
include: equivalence partitioning, boundary value analysis, all-pairs
testing, fuzz testing, model- 19 STUDENT NAME S P SHARMA SIR
(TEACHER NAME)
based testing, traceability matrix, exploratory testing and specification-
based testing.
SPECIFICATION-BASED TESTING
The black box tester has no "bonds" with the code, and a tester's
perception is very simple: a code must have bugs using the principle. "Ask
and you shall receive." black box testers find bugs where programmers
don't. But, on the other hand, black box testing has been said to be like a
walk in a dark labyrinth without a flashlight, because the tester doesn't
know how the software being tested was actually constructed. That's why
there are situations when (1) a black box tester writes many test cases to
21 BABLU PRASAD SP SHARMA SIR
0 ( TEACHER’S NAME)
CLASS – 12 SESSION 2024-25
check something that can be tested by only one test case, and/or (2)
some
parts of the back end are not tested at all. Therefore, black box testing
has the advantage of "an unaffiliated opinion," on the one hand, and the
disadvantage of "blind exploring," on the other.
BIBLIOGRAPHY
1. python.org
2. S P SHARMA CLASSES App and Website
3. S P SHARMA CLASSES YouTube
4. Our Subject Teacher S P Sharma Sir
5. Preeti Arora and Sumita Arora python class 12 Book
6. LearnPython.org
7. Google