Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Qubit Games 🎲 | A project aimed at showcasing core principles of Object-Oriented Programming (OOP) through the implementation of classic games in Java. This collection includes popular games such as Flappy Bird πŸ₯, Tic-Tac-Toe βœ–οΈβ­•, and Snake Game 🐍, each designed to highlight key OOP concepts like inheritance, polymorphism & encapsulation.

Notifications You must be signed in to change notification settings

Alverok/Qubit-Games

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Qubit Games 🎲

JavaLogo-ezgif com-resize (1)


πŸͺŸ | Overview

Qubit Games is a collection of classic games implemented in Java to showcase the principles of Object-Oriented Programming (OOP). This project includes:

  • Flappy Bird πŸ₯
  • Tic-Tac-Toe βœ–οΈβ­•
  • Snake Game 🐍

Each game is designed to demonstrate various OOP concepts such as inheritance, polymorphism, encapsulation, and abstraction.


✨ | Features

  • Flappy Bird:
    • Gravity mechanics for realistic bird movement.
    • Collision detection for obstacles and pipes.
    • Real-time score tracking.
  • Tic-Tac-Toe:
    • Move validation to ensure fair gameplay.
    • Board representation to track game state.
    • Win detection algorithm.
  • Snake Game:
    • Random food spawning.
    • Score tracking based on snake length.
    • Collision detection (with self and walls).

πŸ“™ | Implemented OOP Principles

This project demonstrates the following OOP principles:

  • Abstraction: Focusing on essential features and hiding complexities within game objects.
  • Encapsulation: Ensuring data privacy and integrity through well-defined classes and methods.
  • Inheritance: Leveraging shared functionality and code reuse across game entities.
  • Polymorphism: Allowing game objects to adapt their behavior based on the current context.
  • Exception Handling: Implementing robust error management for seamless user experiences.

πŸ”· | UML Diagrams

  • Use Case Diagram: This diagram highlights the main interactions between users and the system, providing a clear overview of how users will engage with the Qubit Games application.
  • Activity Diagram: It illustrates the workflow and processes involved in the game, showing how different activities are sequenced and related.
  • Sequence Diagram: This diagram details the interactions between objects over time, helping to clarify how different components of the game communicate with each other.

These diagrams collectively provide a comprehensive view of the system's functionality and interactions.


πŸ’ͺ🏼 | Getting Started

Prerequisites

  • Java Development Kit (JDK) installed
  • Integrated Development Environment (IDE) such as IntelliJ IDEA or Eclipse (Recommended)

Installation

  1. Clone the repository to your local machine.
  2. Open the project in your preferred IDE.
  3. Ensure that the project is correctly configured with the Java SDK.
  4. Build the project to resolve any dependencies.

How to Run

  1. Navigate to the main class for the desired game (e.g., FlappyBird.java, TicTacToe.java, SnakeGame.java).
  2. Run the main class.
  3. Follow the on-screen instructions to play the game.

πŸ•ΉοΈ | Game Controls

  • Flappy Bird: Use the space bar to make the bird fly up.
  • Tic-Tac-Toe: Click on the desired cell to place your mark.
  • Snake Game: Use the arrow keys to control the snake's movement.

🚧 | Challenges Faced

  • Gameplay Mechanics: Designing intuitive and engaging gameplay for each game.
  • User Interface: Developing a visually appealing and responsive user interface.
  • Performance Optimization: Ensuring efficient memory management and frame rate for smooth gameplay.

πŸ‘₯ | Team Members

  • Akhil Kannan (πŸ™‹πŸ»β€β™‚οΈ!)
  • Abhay Mathummal (github.com/Amathummal)
  • Josewin Anto (github.com/jjanto2k5)

About

Qubit Games 🎲 | A project aimed at showcasing core principles of Object-Oriented Programming (OOP) through the implementation of classic games in Java. This collection includes popular games such as Flappy Bird πŸ₯, Tic-Tac-Toe βœ–οΈβ­•, and Snake Game 🐍, each designed to highlight key OOP concepts like inheritance, polymorphism & encapsulation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages