A single player turn-based empire building game. A player initially chooses one historical city to start his empire with. The goal is to conquer the whole world by taking control over every other city under a certain amount of turns. In order to achieve this goal, the player have the option of building various types of building in any city he has control over and also build armies in order to conquer other cities.
- OOP concepts (Inheritance - Polymorphism - Abstraction - Encapsulation ).
- Exception Handling.
- GUI
- For anyone who wants to learn about OOP, MVC, Swing.
- For anyone who might find this game fun ๐.
- For my future employer who will accept my resume when seeing this wonderful clean code game :"D.
src/
โโโ buildings
โย ย โโโ ArcheryRange.java
โย ย โโโ Barracks.java
โย ย โโโ Building.java
โย ย โโโ EconomicBuilding.java
โย ย โโโ Market.java
โย ย โโโ ..............
โโโ controllers
โย ย โโโ Controller.java
โโโ engine
โย ย โโโ City.java
โย ย โโโ Distance.java
โย ย โโโ Game.java
โย ย โโโ Player.java
โย ย โโโ ............
โโโ exceptions
โย ย โโโ ArmyException.java
โย ย โโโ BuildingException.java
โย ย โโโ FriendlyCityException.java
โย ย โโโ FriendlyFireException.java
โย ย โโโ .......................
โโโ units
โย ย โโโ Archer.java
โย ย โโโ Army.java
โย ย โโโ Infantry.java
โย ย โโโ Status.java
โย ย โโโ ................
โโโ utlis
โย ย โโโ ReadingCSVFile.java
โโโ views
โโโ button
โย ย โโโ CityButton.java
โย ย โโโ StyledButton.java
โย ย โโโ UnitButton.java
โโโ MyInputVerifier.java
โโโ panel
โย ย โโโ ArmyPanel.java
โย ย โโโ CardsPanel.java
โย ย โโโ MilitaryBuildingPanel.java
โย ย โโโ PlayerPanel.java
โย ย โโโ .....................
โโโ RXCardLayout.java
โโโ view
โโโ BattleView.java
โโโ CityView.java
โโโ EndGameView.java
โโโ StartView.java
โโโ ..............
the game consists of 3 views beside the start view
-
World Map View
responsible for viewing the cities of the game , armies of the player and thier status.
-
City View
responsible for showing different buildings for each city where the player could build , upgrade and recruit units ti build his/her army.
-
Battle View
responsible for battles between army of the player and opponent cities where player could manage the battle manually or choose to auto resolve it.