##Created by
# 🐦 Angry Birds Game (LibGDX + Java)
Welcome to the **Angry Birds Game** project!
This project recreates the iconic Angry Birds experience using the **LibGDX framework** in **Java**, with a strong focus on **object-oriented programming** and **advanced programming techniques**. Unit testing is integrated using **JUnit**.
---
## 🚀 Setup Instructions
To set up, run, and test the project, follow these steps:
### ✅ Prerequisites
- Java Development Kit (JDK) **version 8 or above**
- **IntelliJ IDEA** (Community or Ultimate)
- **LibGDX Framework**
- **JUnit**
### 📦 Installation & Running the Game
1. **Clone the repository:**
```bash
git clone https://github.com/ramneekuttam/angrybird-
Open in IntelliJ:
- Launch IntelliJ and open the cloned folder.
- If prompted, import as a Gradle project.
-
Run the game:
- Open the Gradle toolbar.
- Navigate to:
Tasks > application > lwjgl3:run - Double-click
lwjgl3:runto launch the game using the LWJGL3 backend.
If everything is working, you’ll see the Loading Page. You're ready to play!
- 3 Default Levels:
- 4 birds
- 3 pigs
- Structures made of stone, wood, and ice in various shapes
- Realistic Physics:
- Collision detection
- Health system for all entities
- Angular damping for rotation control
- Victory Condition:
Eliminate all pigs to win the level. - Trajectory Mechanics: Birds launch in the opposite direction of drag for a realistic slingshot feel
- Power Abilities:
- 🔥 Black Bird: Explosion/blast damage
- ⚡ Yellow Bird: Speed burst to increase impact
- Earthquake Mechanic:
Adds random impulses to structures to spice up gameplay - Sandbox Mode:
- Design custom levels
- Choose birds, pigs, and structures
- Save and load your creations
- 🎵 Background Music for immersive gameplay
You can save your current game state and load it later, even after restarting the game.
- Location:
core/src/test/java - Run Tests:
- Right-click on the test directory in IntelliJ
- Click Run Tests
The test suite includes logic checks like checkWinCondition and more.
.
├── core/
│ ├── src/ # Main game logic and screens
│ └── test/java/ # JUnit test files
├── lwjgl3/ # LWJGL3 launcher code
├── assets/ # Images, sound files, etc.
├── build.gradle # Gradle build config
├── README.md # Project documentation
- LibGDX Documentation:
https://libgdx.com/wiki/ - Tutorial Acknowledgment:
Thanks to dermetfan for tutorials and sample resources - Assets:
Images and sounds from free internet sources or created via Canva
This project is for educational purposes. Attribution for any reused assets is appreciated.
Feel free to fork and build upon it!
Happy bird-flinging! 🐦💥🏗️