A classic Arkanoid / Breakout game implemented in Java.
The player controls a paddle to bounce the ball and break all the bricks on the screen.
The game includes collision detection, score tracking, and structured object-oriented design.
- Paddle movement (keyboard controlled)
- Ball physics and collision detection
- Brick breaking logic
- Score tracking system
- Object-Oriented design (separated game components)
- Multiple brick colors / rows
src/ ├── Basics/ │ ├── Line.java │ ├── Point.java │ ├── Rectangle.java │ └── Velocity.java │ ├── Collidable/ │ ├── Block.java │ ├── Paddle.java │ └── CollisionInfo.java │ ├── Game/ │ ├── Game.java │ ├── GameEnvironment.java │ ├── Counter.java │ └── ScoreIndicator.java │ ├── Listeners/ │ ├── HitListener.java │ └── HitNotifier.java │ ├── Sprite/ │ ├── Ball.java │ ├── Sprite.java │ └── SpriteCollection.java │ └── ArknoidGame.java (Main Class)
- Open the project in IntelliJ IDEA
- Make sure a JDK is selected: File → Project Structure → Project SDK
- Locate: src/ArknoidGame.java
- Right-click → Run ArknoidGame.main()
- ⬅ Left Arrow — Move paddle left
- ➡ Right Arrow — Move paddle right
- Java
- IntelliJ IDEA
- Object-Oriented Programming (OOP principles)
Khaled Dabbah
Computer Science Student
This project was developed as part of a university assignment to demonstrate understanding of object-oriented design, collision handling, and game loop implementation in Java.
