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

Skip to content

🧱 a classic brick‑breaker game — with paddle control, ball physics, and brick-breaking gameplay

Notifications You must be signed in to change notification settings

dat-nnguyen/ArkanoidGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arkanoid Game

Game Title Tutorial Title Shop1 Title Shop2 Title Play Title Pause Title Over Title Win Title


I. Project Overview

Arkanoid is a classic brick–breaker game recreated using Java 25 and JavaFX, built with Object-Oriented Programming (OOP) principles and clean architectural design.
The project demonstrates structured game development, UI management, animation handling, and a modular system supporting upgrades, skins, and levels.


🎮 Technical Information

  • Programming Language: Java 25
  • Framework: JavaFX
  • Game Type: Breakout / Brick Breaker
  • Architecture: OOP-based, event-driven, modular game engine
  • Core Concepts Used:
    • Encapsulation
    • Inheritance
    • Polymorphism
    • Composition
    • Basic design patterns (Factory, Singleton, Strategy applied in smaller modules)

⭐ Key Features

🎯 Core Gameplay

  • Smooth paddle movement with real-time collision detection
  • Brick-breaking mechanics with dynamic ball physics
  • Level progression with increasing difficulty

🛒 In-Game Shop

  • Multiple skins for both the ball and paddle
  • Purchasable using score-based currency
  • Persisted across sessions

⚡ Power-Up System

  • Beneficial and harmful items dropped from bricks
  • Each power-up affects:
    • Ball speed
    • Paddle size
    • Player health
    • Scoring multiplier

🔊 Sound System

  • Real-time sound effects (collision, item pickup, UI interactions)

📊 Leaderboard & Save System

  • Stores player name and high scores
  • Displays top 8 highest-scoring players

UML Diagram

UML Diagram


Code Structure

UI Structure PowerUp Structure General Structure

II. Skin Collection

🎱 Ball Skins

🛹 Paddle Skins


III. Gameplay Guide

Controls

  • ← / → – Move paddle left/right
  • Space – Launch the ball
  • Mouse – Navigate UI menus and buttons

🎁 Beneficial Power-Ups

Power-Up Effect Rarity
Paddle Size Up Paddle increases by 25% Common
Ball Slowdown Ball speed reduced by 30% Common
Heal +1 life Rare
Score Multiplier ×2 Doubles current score Very Rare

⚠️ Harmful Power-Ups

Power-Up Effect Warning
Paddle Size Down Paddle shrinks by 25% Dangerous
Ball Speed Up Ball speed increases by 40% Very Dangerous
Global Slowdown Slows paddle, ball, and effect duration Caution
Instant Death Player loses immediately EXTREMELY DANGEROUS

IV. Conclusion

The Arkanoid Project is not only a fun arcade-style game but also a solid demonstration of applying OOP principles in a real-world project.
Through this implementation, the team successfully practiced key concepts such as:

  • Encapsulation
  • Inheritance
  • Polymorphism
  • Modular code architecture
  • Basic design patterns and game-loop structures

This project serves as a strong foundation for more advanced Java game development and OOP-based system design.


About

🧱 a classic brick‑breaker game — with paddle control, ball physics, and brick-breaking gameplay

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •