MINOR PROJECT Flappy bird
Click to edit Master title style
MINOR
PROJECT
CORE JAVA
1
Click to edit Master title style
FLAPPY BIRD
GAME
P R E S E N T E D BY : S H E E TA L K U M A R I
R O L L N O : 1 2 2 0 1 2 0 1
B ATC H : 3 C E 8
2 2
Click to CedOit NMaTstEerN titTle style
INTRODUCTION
CORE COMPONENTS OF THE GAME
LIBRARIES USED:
TOOLS AND TECHNOLOGIES
SNAPSHOTS
CONCLUSION
REFERENCE
THANKYOU
3 3
ClickI Nto TedRit OMaDsteUr tCitleT sItyOleN
The Flappy Bird Game project in Java is a simple, interactive
recreation of the popular mobile game "Flappy Bird." Developed
using Core Java, this project aims to emulate the original
gameplay experience where players control a bird navigating
through a series of moving pipes by tapping or pressing a key to
"flap" and avoid obstacles. The game combines basic principles of
object-oriented programming, animation, and collision detection,
providing an engaging way to demonstrate Java’s capabilities in
game development. This project not only showcases Java’s
potential for creating 2D games but also introduces key concepts
like java swings, java awt, event handling, graphical rendering,
and responsive controls.
4 4
COClRicEk tCo OedMit PMOasNteEr NtitTleS s tOylFe THE GAME
Game Window
• The game needs a window or ("frame") where all the action will happen.
• In Java, you can use JFrame from the javax.swing package to create a
window.
• Think of JFrame as the canvas where everything in the game will be
displayed.
Bird
• The bird is the main character the player controls. It’s typically
represented as a small rectangle or an image.
• The bird has a position (x and y coordinates) and a velocity, which
changes when it "flaps."
• Gravity affects the bird by pulling it down, and every time the player
presses a key, the bird “flaps” to move up.
5 5
Click to edit Master title style
Collision Detection
• Collision detection checks if the bird hits a pipe or the ground.
• You can do this by checking if the bird's position overlaps with a
pipe’s position or if it goes below the ground level.
Pipes
• The pipes are obstacles that the bird has to avoid. Pipes move
from right to left across the screen.
• Each pipe has a gap between the top and bottom parts for the bird
to pass through.
• The pipes respawn at the right edge when they go off-screen to
create a continuous flow of obstacles.
6 6
Click to edit Master title style
Score System
• Every time the bird successfully passes a pipe, the score increases by
1.
• You can track the score with an integer variable and update it when the
bird crosses a pipe.
Game Over and Restart
• When a collision is detected, display a "Game Over" message.
• You can reset the bird’s position, pipes, and score to restart the game.
7 7
CLlIiBckR tAo RedIiEt SM aUstSerE tDitl:e style
Graphics Libraries:
javax.swing: Part of Java’s Standard API, javax.swing is used for creating the graphical user interface (GUI) components in
the game, such as the game window and buttons. Components like JFrame, JPanel, and JLabel help structure the game's
visual display.
java.awt: The Abstract Window Toolkit (java.awt) provides essential classes for drawing and handling events in the game.
Classes such as Graphics, Color, and Font allow customization of game elements like the bird, pipes, and score display.
Image Handling:
javax.imageio.ImageIO: The javax.imageio.ImageIO library handles image loading and processing, allowing us to include
visual elements (like the bird character, background, and obstacles) in the game. It simplifies loading external image files
(JPEG, PNG) and renders them on the screen.
8 8
TCOliOckL tSo eAdNit DM aTsEteCrH tiNtleO sLtOylGeIES
JAVA: Java is a programming language and a platform. Java is a high level,
robust, object-oriented and secure programming language. Java is an object-
oriented, class-based, concurrent, secured and general-purpose computer-
programming language. It is a widely used robust technology.
JAVA VIRTUAL MACHINE: As we know that all programming language
compilers convert the source code to machine code. Same job done by Java
Compiler to run a Java program, but the difference is that Java compiler
convert the source code into Intermediate code is called as bytecode. This
machine is called the Java Virtual machine and it exits only inside the
computer memory.
9 9
COCliDckE t oE eDdIiTt MOaRster title style
VISUAL STUDIO CODE
Visual Studio code is a source code editor developed by Microsoft for
Windows, Linux and Mac OS. It includes support for debugging,
embedded Git control syntax highlighting, intelligent code completion
snippets code refactoring.
It is also customizable, so users can change the editor theme keyboard
shortcuts and preferences. The source code is free and open source
and released under the premissive meet licence. The compiled binaries
are freeware and free for private or commerical use.
1100
GCUliIc kT oto elkdiitt Master title style
JAVA SWING: Swing is Provided to Design Graphical User Interfaces.
• Java Swing Components are Platform-independent, and The Swing Components
are lightweight.
• Swing Supports a Pluggable look and feel and Swing provides more powerful
components such as tables, lists, Scroll panes, Color chooser, tabbed pane, etc.
• Swing is Entirely written in Java.
• Swing is a Set of API (API- Set of Classes and Interfaces)
• Swing is an Extension library to the AWT (Abstract Window Toolkit)
• Includes New and improved Components that have been enhancing the looks
and Functionality of GUIs’
1111
Click to edit Master title style
SNAPSHOTS
1122
OCliPcEk NtoIN eGdi tP MAaGstEer title style
1133
PClRicEkV toIE eWdi tO MFa sGteAr MtitEle style
1144
CSlCicOk tRo Ee dBitO MAasRteDr tOitlFe sGtyAleME
1155
coClnicck ltuos eidoint Master title style
• The Flappy Bird game project in core Java is a valuable learning experience that combines
coding skills with game design basics. Through this project, we recreated the classic,
challenging Flappy Bird gameplay while applying core Java concepts like object-oriented
programming, graphics handling, and event-driven programming.
• By implementing features such as gravity, jumping, collision detection, and scorekeeping,
we learned essential techniques used in game development.
• Overall, this project provided a fun way to improve Java skills, understand the basics of
interactive programming, and create a playable game that encourages replayability. This
hands-on project is a strong foundation for exploring more complex game development
projects in the future.
1166
RCEliFckE tRo EeNditC MEaSster title style
• The complete reference Herbert Scheldt, Java: A Beginner's
Guide, 7th ed. New York, USA: McGraw-Hill Education, 2018.
• www.javatpoint.com
• www.scribd.com
• www.geeksforgeeks.org
• Wikipedia's article on Java programming language
1177
Click to edit Master title style
THANK YOU
18
Comments