{"id":21086105,"url":"https://github.com/abdulaziz-hassan/the-conqueror","last_synced_at":"2025-03-14T05:24:03.289Z","repository":{"id":128700280,"uuid":"403125073","full_name":"Abdulaziz-Hassan/the-conqueror","owner":"Abdulaziz-Hassan","description":"A single player turn-based empire building game implemented in Java ","archived":false,"fork":false,"pushed_at":"2021-09-04T19:16:24.000Z","size":20690,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T00:26:30.023Z","etag":null,"topics":["exception-handling","gui","java","oops-in-java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Abdulaziz-Hassan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-04T18:07:15.000Z","updated_at":"2022-01-02T21:06:40.000Z","dependencies_parsed_at":"2023-06-04T18:15:16.860Z","dependency_job_id":null,"html_url":"https://github.com/Abdulaziz-Hassan/the-conqueror","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdulaziz-Hassan%2Fthe-conqueror","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdulaziz-Hassan%2Fthe-conqueror/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdulaziz-Hassan%2Fthe-conqueror/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdulaziz-Hassan%2Fthe-conqueror/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Abdulaziz-Hassan","download_url":"https://codeload.github.com/Abdulaziz-Hassan/the-conqueror/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243528060,"owners_count":20305339,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exception-handling","gui","java","oops-in-java"],"created_at":"2024-11-19T20:42:51.341Z","updated_at":"2025-03-14T05:24:03.270Z","avatar_url":"https://github.com/Abdulaziz-Hassan.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Conqueror\n\nA single player turn-based empire building game.\n\n# Game Description\n\nA player initially chooses one historical city to start his empire with (Cairo, Rome, or Sparta). The goal is to conquer the whole\nworld by taking control over every other city under a certain amount of turns. In order to\nachieve this goal, the player has the option of building various types of buildings in any city he\nhas control over and also build armies in order to conquer other cities.\n\n### Winning/Losing\n\nThe player can win if he/she managed to conquer all cities available in the game under the determined amounts of turns. If these turns passed and the player did not achieve this goal, this isconsidered a loss.\n\n### Conquering a city\n\nEach city has an army that defends it from conquerors. The player needs to build a powerful\narmy and defeat the defending army in order to take control over the city. Once the attacking\narmy reaches the city, it can either lay siege on the target city trying to starve them out or\ndirectly attack the defending army. When the player engages\nthe defending army in a battle, he can choose to either automatically resolves the battle or\nhe manually commands his units during it.\n\n### Available resources\n\nThroughout his journey of conquering the world, the player has two major resources that he\ncan spend in order to achieve his goal namely gold and food.\n\n1. Gold is the main resource needed to build or upgrade any building and also to recruit\nunits. Gold will also be used to maintain and upkeep any army the player controls.\n\n2. Food, on the other hand, is used to keep the soldiers in the player’s army alive. All\nsoldiers consume a certain amount of food each turn. They consume more while marching\nto a city and will consume the most while besieging the city. If the player does not have\nsufficient amount of food for all of his soldiers, they will gradually die each turn until he\nhas enough food again to feed his army.\n\n### Buildings\nThe player can build multiple types of buildings to help him achieving his goal of conquering\nthe world. There are two types of buildings, economic and military. Economic buildings help\nthe player build his economy as well as provide enough food supplies for his army. Military\nbuildings are the ones that the player will use to build his armies by recruiting different types of\nunits. Buildings can be upgraded to enhance their effects. The higher the level of the building,\nthe better its outcome.\n\n# Technologies Used\n\n* [Object-oriented programming (OOP)](https://en.wikipedia.org/wiki/Object-oriented_programming#:~:text=Object%2Doriented%20programming%20(OOP),(often%20known%20as%20methods)) (Encapsulation, Abstraction, Inheritance, and Polymorphism)\n* GUI [(Java Swing)](https://www.javatpoint.com/java-swing)\n* [Exception Handling](https://www.javatpoint.com/exception-handling-in-java)\n* [JUnit4](https://junit.org/junit4/)\n\n# Contributors\n\n* [Abdulaziz Hassan](https://github.com/Abdulaziz-Hassan)\n* [Omar Sherif](https://github.com/omar-sherif9992)\n* Shehab Ibrahim\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdulaziz-hassan%2Fthe-conqueror","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdulaziz-hassan%2Fthe-conqueror","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdulaziz-hassan%2Fthe-conqueror/lists"}