From 4c1b34ecea9b45acd16b7a43f3f430692e76977e Mon Sep 17 00:00:00 2001 From: Helana Nady Date: Mon, 8 Jul 2024 22:30:17 +0300 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20README=20update=20(#76)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * πŸ“ Updated README.md * πŸ“ Created LICENSE * πŸ“Added License to README.md * :camera_flash: Added few more visuals * :sparkles: Added introduction, DS, and class design sections --------- Co-authored-by: Habiba Ayman <137416623+habibayman@users.noreply.github.com> Co-authored-by: AhmedSobhy01 --- LICENSE | 21 +++++++++++ README.md | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 122 insertions(+), 8 deletions(-) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b88ecf1 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Helana Nady + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index dd8c05d..2a11c28 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,105 @@ -

πŸ‘Ύ Alien Invasion: simulate or surrender ! πŸ‘Ύ

-
- - #### Whispers have become screams, earie lights piercing the once-peaceful night sky, - **πŸ›Έ Alien invasion is no longer science fiction! πŸ›Έ** - +![image](https://github.com/HelanaNady/Alien-Invasion/assets/137416623/eb4b450b-6a96-40be-90c9-2b30caa70ba2)
+ +

πŸ‘Ύ Simulate or Surrender πŸ‘Ύ

+
+ +#### Whispers have become screams, eerie lights piercing the once-peaceful night sky, + +**πŸ›Έ Alien invasion is no longer science fiction! πŸ›Έ** +
-The once-distant nightmare is now a present threat. The clock is ticking, and the weight of humanity's future rests on the shoulders of the **Global Defense Unit** - humanity's last line of defense. grappling with the stark truth: brute force won't be enough. They needed a glimpse into the future, a way to predict their moves before they unfold. +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! + +## πŸ“ Introduction + +"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. + +## πŸ•ΉοΈ Simulation Modes + +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. + +https://github.com/HelanaNady/Alien-Invasion/assets/137416623/e665c15d-3613-4e57-840f-621ae3b08516 + +## βš”οΈ Battle Scenarios + +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. + +## πŸ› οΈ Getting Started + +1. Clone the repo: + ```sh + git clone https://github.com/HelanaNady/Alien-Invasion.git + ``` +2. Open the project in Visual Studio Code or Visual Studio. +3. 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. + +## πŸ—‚οΈ Data Structures Used + +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 | + +## 🧩 Class Design + +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. + +### πŸ“‹ UML Diagram + +![UML Diagram](https://lucid.app/publicSegments/view/2f21f577-3649-42d0-b463-5bd722aba50a/image.png) + +## πŸ”’ License + +This project is licensed under MIT License, See [License](LICENSE) for more information. -Faced with this impossible challenge, we stepped in. we developed a weapon not of steal and fire but of code and imagination: **a simulated realm where strategies are tested, weakness 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! +## 🌟 Collaborators + + + + + + +
+ + +
+ Ahmed Sobhy +
+
+ + +
+ Habiba Ayman +
+
+ + +
+ Helana Nady +
+