0% found this document useful (0 votes)
45 views4 pages

Color Switch

This document describes an advanced programming project called Color Switch. It includes features like infinite gameplay modes of increasing difficulty, collectable stars, color-changing balls, save/load functionality, and background music. It discusses the implementation with navigation via FXML, loading saved game states, pause/game over menus, and serializing game data. Individual contributions are also summarized, including UML diagrams, GUI components, screens, animations, collision handling, difficulty scaling, and exception handling. Bonus components include leaderboards, additional obstacle animations, help/share screens, and social media integration.

Uploaded by

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

Color Switch

This document describes an advanced programming project called Color Switch. It includes features like infinite gameplay modes of increasing difficulty, collectable stars, color-changing balls, save/load functionality, and background music. It discusses the implementation with navigation via FXML, loading saved game states, pause/game over menus, and serializing game data. Individual contributions are also summarized, including UML diagrams, GUI components, screens, animations, collision handling, difficulty scaling, and exception handling. Bonus components include leaderboards, additional obstacle animations, help/share screens, and social media integration.

Uploaded by

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

ADVANCED PROGRAMMING PROJECT

COLOR SWITCH
Abhishek Chaturvedi (2019401) || Naval Kumar Shukla (2019065)
FEATURES
• Infinite mode with different levels of increasing difficulty.
• 7 different types of obstacles with some obstacles having their own animation effects.
• Collect stars to increase the score.
• Color Switcher changes the ball color randomly.
• Save Game and Restart Game options: User can save multiple game states, and reload them.
• Cool background music.

IMPLEMENTATION
• Navigation is via FXML files.
• Load Game menu is used to load multiple saved states of the game. Every time a user saves a game, the game state is given an id, which is the name of the
player and game’s score, ball color, ball coordinates, obstacle type and orientation are saved.
• Pause Menu can be used for starting a new game or saving the current game or going back to main menu.
• Game Over Menu can be used to revive the player if there are enough points available to the player or the game can be restarted or the player can go back
to main menu.
• Exit Game saves all the progress and exits the game.
• In Game Menu: Allows the user to save the game, restart the game or exit to main menu.
• Stars increase the score and the level.
• Stars in enough numbers can be used to revive the current player.
• After revival the score of the player decreases and level also lowers accordingly.
• Level becomes harder as the user progresses through the game. Difficult and complicated obstacles unlock and the game speed increases and stars required
for revival also increase.
• Background music has been added which can be muted and unmuted to enhance the experience.
INDIVIDUAL EFFORTS
Abhishek Chaturvedi Naval Kumar Shukla
◦ Deadline 1: I have implemented the Use Case UML ◦ Deadline 1: I have implemented the Class UML diagram which contains all the
basic structure of the necessary classes and interfaces, and the relationships
diagram (with multiplicity) which basically shows how a
among them, which helped us immensely while implementing the game in Java.
user implements with the system. I have also created an
actor depicting memory which helped us while going ◦ Deadline 2: I have created several obstacles, each of which has different kind of
animations (Horizontal Movement, Rotation, Zoom in and out etc). Also, I have
through serialisation and deserialization.
added the necessary screens (Main Menu, Game Screen etc) with appropriate
◦ Deadline 2: I have created basic GUI game components background and image icons mostly through FXML.
such as Ball, Colour Switcher and Star and ensured the ball ◦ Deadline 3: In order to achieve the infinite mode, it’s needed to move the screen
animation. (or present it in a way that it looks like moving). Also, one of the key features of
◦ Deadline 3: I have created several game screens through the game is to implement serialisation and deserialization especially in non-
serializable classes (by customising serialisation through implementing
FXML such as Share Screen, Leader board, Help Screen
readObject() and writeObject() methods inside those classes). Not only that I
etc. I have implemented serialisation in serializable classes. have implemented these features, I have also implemented significant functions
I have also added some extra game features like such as ball collision, exception handling and synced all the screens
background music (and buttons to control it). In addition, I appropriately, so that it doesn’t look like a mess. In the end, I ensured the core
have also implemented key features like ball jumping and benefits of OOPs such as code readability, code reusability, encapsulation,
disappearance of star and colour-switcher when they abstraction etc and also have implemented appropriate design patterns wherever
collide with the ball. In the end, I ensured the presentably required.
of the game by adding some cool images and background.
I have also implemented OOPS concept and design
BONUS COMPONENTS
◦ LEADEROARD to keep track of the players with highest scores who have played the game.
◦ OBSTACLE ANIMATIONS

Some obstacles have the feature to zoom in and out to enhance experience and difficulty of the game.
◦ EXCEPTION HANDLING

When a player with not enough score tries to revive a player and when a player tries to open a saved game which does not exist. A pop-up
screen opens with an appropriate message.
◦ LEVEL WISE DIFFICULTY

According to the increasing level, the falling speed of the ball increases, the obstacle rotation speed and the points required for revival
also increases.
◦ BACKGROUND MUSIC has been added with the feature to mute and unmute it.
◦ HELP MENU which contains the description of the game and a guide on how to play it. It also contains the different game elements
and their description.
◦ SHARE MENU which contains links to share your progress on social media websites like WhatsApp, Instagram, Facebook and
Twitter.

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