0% found this document useful (0 votes)
54 views

Mibs Project Documentation

The document describes a project report for developing a ping pong game in Java. It includes an introduction that describes ping pong and the need for a software version of the game. The proposed system would provide an interactive ping pong game experience for users to play. The objectives are to create a fun game that follows the standard rules of ping pong and allows customization of settings. The user requirements section outlines features such as single-player/multiplayer modes, difficulty levels, and stat tracking.

Uploaded by

Prachi Gore
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views

Mibs Project Documentation

The document describes a project report for developing a ping pong game in Java. It includes an introduction that describes ping pong and the need for a software version of the game. The proposed system would provide an interactive ping pong game experience for users to play. The objectives are to create a fun game that follows the standard rules of ping pong and allows customization of settings. The user requirements section outlines features such as single-player/multiplayer modes, difficulty levels, and stat tracking.

Uploaded by

Prachi Gore
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 20

Ping pong game project-;

Project Report
On
PING PONG GAME
By
KAIVALYA APPASAHEB KULKARNI

Under the Guidance of


PROF GAJANAN BADHE

Master of Computer Application

P.E. Society’s
Modern Institute of Business Studies, Nigdi, Pune-44

Savitribai Phule Pune University

2022-2023

Title Page = PING PONG GAME PROJECT

INDEX
SR.NO CONTENT PAGE NO.
.
O1 INTRODUCTION

1.01 Introduction of project 12

1.02 Existing System and Need for System 12

1.03 Scope of Work

1.04 Operating Environment - Hardware and Software

1.05 Detail Description of Technology Used

02 PROPOSED SYSTEMS

2.01 Proposed System

2.02 Objectives of System

2.03 User Requirements

03 ANALYSIS AND DESIGN

3.01 Entity Relationship Diagram (ERD)

3.02 Data Flow Diagram (DFD)

3.03 Object Diagram

3.04 Class Diagram

3.05 Use Case Diagrams

3.06 Activity Diagram

3.07 Collaboration Diagram

3.08 Deployment Diagram

3.09 Component Diagram

3.10 Table Design

3.11 Data Dictionary

04 Testing

4.01 Introduction to Software Testing

4.02 Test cases


05 Drawbacks and Limitations

06 Proposed Enhancements

07 Conclusion

08 Bibliography

09 ANNEXURES: ANNEXURE 1 : USER


INTERFACE SCREENS

10 ANNEXURE 2 : OUTPUT REPORTS WITH


DATA ( if any )

Chapter 1 INTRODUCTION

 Introduction of project -:
  Ping-Pong, ball game similar in principle to lawn tennis and played on a flat table divided
into two equal courts by a net fixed across its width at the middle. Learning a new sport
requires many things from a person: reading the rulebook, purchasing the necessary
equipment, and possibly trying the game out with another person. Many times, an individual
who is observing them or playing with them acts as their coach; they usually have many times
more experience than them and can give them the guidance needed to improve the sport.
However, the player might not have another person to play the game with, much less one that
can act in a coaching capacity. In this situation, software has turned into a democratization
force (Friedman, 2012); people who have not had access to resources before now have access
to software that can perform the job for them ("Democratization of Technology," 2013)

 Existing System and Need for System - :

1. Java development environment: You would need a Java development environment


installed on your computer, such as Eclipse or IntelliJ IDEA.
2. JavaFX library: JavaFX is a library that provides a set of graphical user interface (GUI)
components for building rich, cross-platform desktop applications in Java. You would
need to download and install JavaFX on your computer.
3. Game loop: A game loop is a loop that runs continuously while the game is playing,
updating the game state and rendering the game world to the screen. You would
need to implement a game loop in Java using techniques such as threading or
JavaFX's AnimationTimer class.
4. Graphics: You would need graphics for the ball, paddles, and background. You could
create the graphics yourself using a graphics editor like Photoshop or GIMP, or you
could use pre-made graphics from websites like OpenGameArt.
5. Sound effects and music: You would need sound effects for the ball hitting the
paddle and the paddle hitting the ball, as well as music for the background. You
could create the sound effects and music yourself or use pre-made ones from
websites like OpenGameArt.
6. Input devices: You would need input devices for the game, such as a keyboard or
gamepad, to control the paddles.
7. Physics engine: You would need a physics engine to calculate the movement of the
ball and the paddles. You could use a library like JBox2D, which is a Java port of the
popular physics engine Box2D.
8. Artificial intelligence: If you want to create a single-player mode, you would need to
implement artificial intelligence to control the opponent's paddle.

Overall, creating a ping pong game in Java would require a solid understanding of
Java programming concepts, game development principles, and JavaFX library.

Scope of Work -:
The Table may be the main equipment required for playing ping-pong, but that is not the only thing
required. Players need a racquet or paddle and a ping-pong ball as well to go with the game.

 Operating Environment - Hardware and Software -:In this project the


hardware and software environment is
 Detail Description of Technology Used

Chapter 2 PROPOSED SYSTEMS

Proposed System -:The purpose of a Ping Pong game using Java could be to
provide an entertaining and interactive experience for users. Ping Pong is a
classic game that has been enjoyed by people for decades and is still
popular today. Developing a Ping Pong game using Java can provide a fun
way for users to pass the time, relieve stress, and improve hand-eye
coordination.
Additionally, developing a Ping Pong game using Java can also serve as an
educational exercise for programmers. It allows them to practice object-
oriented programming concepts, graphics programming, and user interface
design. It also allows them to improve their coding skills and gain
experience in game development.

Some specific goals of a Ping Pong game using Java could include:

1. Creating a game that is fun and engaging for users.


2. Developing a user-friendly interface that is easy to navigate and
understand.
3. Implementing realistic physics to simulate the movement of the ball and
paddles.
4. Allowing users to customize the game's settings, such as ball speed, paddle
size, and sound effects.
5. Providing a high score table to encourage users to compete with one
another.
6. Ensuring the game runs smoothly and without bugs or glitches.

By achieving these goals, a Ping Pong game using Java can provide an
entertaining and challenging experience for users while also allowing
programmers to improve their skills and knowledge.

Objectives of System -:An objective system for a ping pong game could include the
following elements:

1. Scoring system: The game should have a clear and fair scoring system, typically
played up to 11 or 21 points. A player wins a point when the opponent fails to return
the ball over the net, hits the ball out of bounds, or commits a fault.
2. Equipment: A standard ping pong table with dimensions of 9 feet by 5 feet, a net set
at 6 inches high, and two paddles per player are needed. The ball used in the game
must also meet the regulations set by the International Table Tennis Federation
(ITTF).
3. Rules of play: The game should have clearly defined rules, including how to serve the
ball, how to return the ball, and what constitutes a fault or an illegal move.
4. Serve rotation: In a doubles game, players must alternate their serves every two
points, while in singles play, each player serves for two consecutive points.
5. Time limit: Matches should have a time limit to ensure that the game does not drag
on for too long. A typical time limit for a game is 10-15 minutes, depending on the
skill level of the players.
6. Umpire or referee: A qualified umpire or referee should oversee the game to ensure
that the rules are followed and that any disputes are resolved fairly.

By having a well-defined set of rules and regulations, players can enjoy a fair and
competitive game of ping pong.

User Requirements-:Based on user requirements, a ping pong game could


include the following features:

1. Single player or multiplayer mode: Users should have the option to play
against the computer or against other players, either locally or online.
2. Difficulty levels: Players should be able to choose from different difficulty
levels to match their skill level and challenge themselves as they improve.
3. Customizable game settings: Users should be able to adjust game settings
such as the speed of the ball, the type of paddle used, and the size of the
table to suit their preferences.
4. Training mode: A training mode could be included, which allows users to
practice their skills without the pressure of a competitive game.
5. Statistics tracking: The game could keep track of player statistics such as
win-loss record, points scored, and other performance metrics to allow
users to track their progress.
6. Customizable avatar: Players could be able to create and customize their
own avatar, adding a personal touch to the game.
7. Multiple game types: The game could include different types of ping pong
games, such as singles, doubles, and reverse ping pong.
8. Sound effects and music: Users could be able to customize the sound
effects and music to their liking or turn them off altogether.
9. Replay and review: Players could be able to review their matches and see
replays of key points to analyze their performance and identify areas for
improvement.

By including these features, a ping pong game could provide users with a
fun and engaging experience, while also allowing them to improve their
skills and track their progress over time.
 Data Flow Diagram (DFD)-:
 Here is a simple data flow diagram (DFD) of a ping pong game:

PLAYER PLAYER

INPUT INPUT

GAME LOOP GAME LOGIC

OUTPUT OUTPUT

SOUND
GRAPHICS ENGINE

 Object Diagram
PLAYER 1

PLAYER 2

PLAYER

NAME =STRING SCORE INT

BALL

POSITION VELOCITY
POINT POINT
 Class Diagram -:

 Use Case Diagrams -:


 Component Diagram

 Data Dictionary
 Table: stores information about the game table.

Field Name Data Type Description

table_id Integer Unique identifier for the table


Field Name Data Type Description

table_width Float Width of the table in meters

table_length Float Length of the table in meters

net_height Float Height of the net in meters

surface_color String Color of the playing surface

Field Name Data Type Description

player_id Integer Unique identifier for the player

name String Player name

rating Integer Player's rating (a measure of their skill level)

country String Country where the player is from


Field Name Data Type Description

Field Name Data Type Description

game_id Integer Unique identifier for the game

table_id Integer The table where the game was played

player_1_id Integer The ID of the first player

player_2_id Integer The ID of the second player

winner_id Integer The ID of the winning player

loser_id Integer The ID of the losing player

start_time Datetime The start time of the game

end_time Datetime The end time of the game


Field Name Data Type Description

score String The score of the game in the format "player_1_score - player_2_score"

Chapter 4: Testing

Introduction to Software Testing -: Software testing is a crucial part of the


development process of any software application, including a ping pong
game. Testing a ping pong game involves verifying that the game works as
intended, meets the specified requirements, and is free of bugs and defects
that may impact the user experience.

To test a ping pong game, a variety of testing techniques can be used. For
example, functional testing can be performed to verify that all game
functions, such as the movement of the ball, the player's movement, and
the scoring system, work correctly. Non-functional testing can be
performed to evaluate the game's performance, such as its response time,
memory usage, and other system resources.

Performance testing can be used to test the game's performance under


different loads, such as the number of players, the number of games played
simultaneously, and the speed of the ball. Additionally, security testing can
be performed to ensure that the game is secure and that players' data is
protected.

Usability testing is also essential in testing a ping pong game, as it ensures


that the game is user-friendly and easy to play. It involves testing the
game's interface, user navigation, and game controls to ensure that they
are intuitive and easy to use.

Overall, software testing is a crucial step in developing a ping pong game


that is functional, reliable, and enjoyable for users. By thoroughly testing
the game, developers can ensure that the game meets the requirements of
the users and provides an enjoyable and engaging experience.

Test cases -: To create a test case for a ping pong game, you can consider
the following scenarios:

1. Test the basic functionality of the game


 Start the game and verify that the ball is moving back and forth between
the paddles.
 Verify that the score is updating correctly for each player as they hit the
ball.
2. Test the player movement
 Verify that the player can move the paddle up and down.
 Verify that the paddle stays within the boundaries of the game.
3. Test the ball movement
 Verify that the ball bounces correctly off the paddles and walls.
 Verify that the ball speeds up as the game progresses.
4. Test the game modes
 Test the single-player mode and verify that the computer opponent is
playing correctly.
 Test the multiplayer mode and verify that both players can play
simultaneously.
5. Test the game settings
 Test the game speed settings and verify that the ball moves faster or slower
depending on the setting.
 Test the sound settings and verify that the sound effects and music can be
turned on and off.
6. Test the game interface
 Verify that the game interface is user-friendly and easy to navigate.
 Test the responsiveness of the game interface on different devices and
screen sizes.
7. Test the game stability
 Verify that the game runs smoothly without crashing or freezing.
 Test the game on different platforms and operating systems to ensure
compatibility.

Drawbacks and Limitations -: Like any other project, a ping pong game
project may have some drawbacks and limitations. Some of the possible
ones are:

1. Limited audience: Ping pong is not a game that appeals to everyone, so the
audience for this project may be limited.
2. Repetitive gameplay: The gameplay of ping pong can become repetitive
after a while, which may lead to boredom for some players.
3. Lack of advanced features: Compared to modern video games, ping pong
may lack some advanced features, such as complex storylines, extensive
customization options, and advanced graphics.
4. Limited game modes: Although ping pong is a classic game, it has limited
game modes, such as single-player and multiplayer modes.
5. Limited monetization options: Since ping pong is a simple game, it may not
offer many opportunities for monetization, such as in-game purchases, ads,
or sponsorships.
6. Limited replay value: Once a player has mastered the game, there may be
limited replay value, which may lead to a decrease in player engagement
over time.
7. Technical limitations: Depending on the development platform and tools
used, there may be technical limitations to the game's performance,
graphics, or sound.
8. Dependence on hardware: A ping pong game project may be dependent
on the hardware used to run it, which may limit its accessibility to players
with older or less powerful devices.
9. Lack of innovation: Since ping pong is a classic game, it may be challenging
to innovate or add new features without losing the game's core mechanics
and simplicity.
10.Difficulty in standing out: Due to the high number of games available in the
market, it may be challenging to make a ping pong game project stand out
among the competition.
Proposed Enhancements -:

There are several possible enhancements that could be made to a ping pong game
project, depending on the scope of the project and the desired level of complexity.
Here are a few suggestions:

1. Multiplayer mode: Add a multiplayer mode that allows two players to play against
each other on the same device or over a network.
2. AI opponent: Implement an AI opponent that can play against the player. The
difficulty of the AI opponent can be adjusted to match the player's skill level.
3. Power-ups: Introduce power-ups that can be collected during gameplay to give the
player an advantage or disadvantage. For example, a power-up that increases the
size of the player's paddle, or a power-up that makes the ball move faster.
4. Different game modes: Add different game modes to keep the game interesting. For
example, a time trial mode where the player has to score as many points as possible
in a set amount of time, or a survival mode where the player has to keep the ball in
play for as long as possible.
5. Customization options: Allow the player to customize their paddle or ball with
different colors or patterns.
6. Online leaderboards: Implement online leaderboards that allow players to compete
with each other for high scores.
7. Sound effects and music: Add sound effects and music to enhance the gameplay
experience.
8. Tutorial mode: Create a tutorial mode that teaches the player how to play the game,
including the rules and mechanics.
9. Pause and resume: Allow the player to pause the game and resume it later.
10. Mobile compatibility: Make the game compatible with mobile devices by optimizing
the user interface for touchscreens and adding support for mobile-specific features
such as tilt controls.

Conclusion -:

As an AI language model, I don't have access to the details of the specific ping pong
game project you are referring to. However, in general, a conclusion of a ping pong
game project would typically summarize the results of the project and provide
insights and recommendations based on those results.

The conclusion might discuss the success or failure of the project, including any
challenges or obstacles that were encountered along the way. It could also provide
an overview of the key features and functionalities of the ping pong game, as well as
any improvements that could be made in future versions.

Additionally, the conclusion might offer recommendations for future work based on
the findings of the project. This could include suggestions for improving the
gameplay experience, implementing new features, or addressing any issues that were
identified during the testing phase.

Overall, the conclusion of a ping pong game project should provide a comprehensive
overview of the project's goals, methods, results, and implications, and offer
guidance for future development and improvement

Bibliography -:

As an AI language model, I don't have personal experience or emotions, but


I can provide you with some information regarding the history of the ping
pong game project.

Ping pong, also known as table tennis, is a popular sport that has been
played for over a century. The game originated in the late 1800s in England
as an indoor version of lawn tennis. Initially, the game was played using
makeshift equipment, such as books for the net and cork balls. However,
over time, the sport evolved, and standardized equipment and rules were
introduced.

The first official table tennis tournament was held in London in 1926, and
the International Table Tennis Federation (ITTF) was founded in 1926. The
game quickly spread worldwide, becoming an Olympic sport in 1988.

As for the ping pong game project, it is a software program designed to


simulate the game of table tennis. The project aims to provide a realistic
gaming experience by replicating the physics of ball and paddle
interactions, as well as other factors such as spin, velocity, and trajectory.

The ping pong game project can be developed using languages, including
Java, Developers use graphics libraries like OpenGL or DirectX to create the
visual elements of the game, including the paddle, ball, and background.

Overall, the ping pong game project is an exciting and challenging project
that requires a great deal of programming skill and knowledge of physics. It
is a fun and interactive way to learn programming, and it provides users
with a virtual platform to play a classic game.

ANNEXURES: ANNEXURE 1 : USER INTERFACE SCREENS -:


ANNEXURE 2 : OUTPUT REPORTS WITH DATA ( if any )

As an AI language model, I cannot generate an output data report of a


specific ping pong game project. However, I can provide a sample of the
type of data that may be included in such a report:

1. Player statistics: This section would provide data on each player's


performance, including number of wins and losses, points scored, and
average reaction time.
2. Game data: This section would provide information on the game itself,
including the number of rounds played, the length of each round, and the
type of scoring system used.
3. Paddle and ball physics: This section would include data on the physics of
the game, such as the velocity, spin, and trajectory of the ball, and the
paddle's angle and velocity.
4. User feedback: This section would include feedback from users who have
played the game, including suggestions for improvement, bugs found, and
overall impressions of the game.
5. Technical information: This section would include technical information on
the development of the game, including the programming language used,
graphics libraries utilized, and any challenges faced during development.
6. Future developments: This section would outline any future developments
or updates planned for the game, including bug fixes, new features, and
improvements to gameplay or graphics.

You might also like