Skip to content

idohaver7/Arkanoid

Repository files navigation

Arkanoid-logo svg

Arkanoid Game Project

Welcome to my Arkanoid game project!
This game was developed as part of my Object-Oriented Programming (OOP) course and serves as a demonstration of OOP principles and a variety of design patterns.

Overview

Arkanoid is a classic brick-breaker game where the player controls a paddle to bounce a ball and destroy blocks on the screen. This implementation features:

  • Three unique levels with different designs and challenges
  • Rich use of design patterns to structure the code and gameplay
  • Clean, modular architecture for easy expansion and maintenance
  • Score tracking and Game Over screen

Screenshots

Below are screenshots from the game, showcasing the three levels and the game over screen:

Level 1: "Yam Pam Puz"

Screenshot 2025-08-30 122034
  • Features a target and concentric circles for aiming practice.
  • Focuses on precision and control.

Level 2: "Mid Level"

Screenshot 2025-08-30 122043
  • Features a bright sun effect and varied block placement.
  • Encourages strategic block breaking and maneuvering.

Level 3: "You Can't Win Here"

Screenshot 2025-08-30 122147
  • Classic brick wall layout with special blocks ("add ball", "deadblock").
  • Includes obstacles and increased difficulty.

Game Over Screen

Screenshot 2025-08-30 122156
  • Displays your final score and prompts you to close the game.

Design Patterns Used

This project is a showcase of several design patterns, including:

  • Singleton: Managing resources like the game engine or score tracker.
  • Factory: Creating different types of levels and blocks.
  • Observer: Updating score and game state when events occur.
  • Strategy: Handling different ball movement algorithms.
  • Command: Processing user input and game actions.
  • State: Managing level transitions and game over logic.
  • Decorator/Composite: For complex block behaviors.

How to Play

  • Use your keyboard to control the paddle and bounce the ball.
  • Clear all blocks to advance to the next level.
  • Try to achieve the highest score possible!
  • When the game is over, press space to exit.

Installation

  1. Clone the repository.
  2. Ensure you have Java (or the required runtime environment).
  3. cd Arkanoid
  4. ant run

Credits

Developed by [idohaver7] as part of an OOP course.


Enjoy the game and feel free to explore the code to see how design patterns are applied in practice!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages