🛸 Alien invasion is no longer science fiction! 🛸
The once-distant nightmare is now a present threat! The clock is ticking, humanity needed a glimpse into the future, a way to predict the enemy's moves before they unfold.
Faced with this impossible challenge, we developed a simulated realm where strategies are tested, weaknesses exposed, and the enemy's playbook laid bare. It is humanity's last chance to rewrite the future before the first shot shatters the silence!
"Alien Invasion" is a simulation game developed as part of a data structures course in our first year of computer engineering. The game involves Earth's army fighting against an alien army with randomly generated battle scenarios. The project's primary goal was to help us understand how to choose appropriate data structures for various tasks, design classes, and manage them effectively.
Choose how to witness humanity's last stand:
- Interactive Mode: Watch the battle as it unfolds and let the aliens know you are watching!
- Silent Mode: Conduct a silent stealth mission and strategize in secret.
RunModes.mp4
The fate of Earth rests in your hands! Adapt your strategies and tactics as Earth's and alien forces vary in strength:
- Balanced Power: Engage in a battle where both Earth and alien armies are evenly matched, testing pure strategy.
- Earth Overpower: Lead a stronger Earth army against weaker or moderate alien forces for offensive strategies.
- Alien Overpower: Face overwhelming alien forces with a weaker Earth army to test defensive tactics.
- Clone the repo:
git clone https://github.com/HelanaNady/Alien-Invasion.git
- Open the project in Visual Studio Code or Visual Studio.
- Build and run the project to start the simulation.
Adjust the battle scenarios through the prompt to test different strategies and the army's power.
This project utilizes various data structures to efficiently manage the game's components:
List Name | Member of Class | Type |
---|---|---|
Earth Soldiers | EarthArmy | Queue |
Earth Tanks | EarthArmy | Stack |
Earth Gunnery | EarthArmy | Priority Queue |
Earth Healers | EarthArmy | Stack |
Alien Soldiers | AlienArmy | Queue |
Alien Monsters | AlienArmy | Array |
Alien Drones | AlienArmy | Deque |
The project follows an object-oriented design with the following main classes:
Army
: Represents an army, either Earth or alien, containing units.Unit
: Represents a single unit within an army with attributes such as health and attack power.Game
: Manages the battle, including the armies and their interactions and generates statistics at the end of the game.RandomGenerator
: Generates random units every timestep based on specified probabilities.
This project is licensed under MIT License, See License for more information.
Ahmed Sobhy |
Habiba Ayman |
Helana Nady |