Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aboueleyes/the-conqueror
A single player turn-based empire building game.
https://github.com/aboueleyes/the-conqueror
game java oop oops-in-java
Last synced: 2 months ago
JSON representation
A single player turn-based empire building game.
- Host: GitHub
- URL: https://github.com/aboueleyes/the-conqueror
- Owner: aboueleyes
- License: mit
- Created: 2021-04-22T14:44:19.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-03-12T20:47:45.000Z (almost 3 years ago)
- Last Synced: 2023-04-07T02:26:58.583Z (almost 2 years ago)
- Topics: game, java, oop, oops-in-java
- Language: Java
- Homepage:
- Size: 92.6 MB
- Stars: 16
- Watchers: 2
- Forks: 2
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TheConqueror
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/fedd9f7938f14125ae98f4c33dd8d0d7)](https://app.codacy.com/gh/aboueleyes/the-conqueror?utm_source=github.com&utm_medium=referral&utm_content=aboueleyes/the-conqueror&utm_campaign=Badge_Grade_Settings)
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.## Contents
1. OOP concepts (Inheritance - Polymorphism - Abstraction - Encapsulation ).
2. Exception Handling.
3. GUI### Who is this game for
- For anyone who wants to learn about OOP, MVC, Swing.
- For anyone who might find this game fun :relieved:.
- For my future employer who will accept my resume when seeing this wonderful clean code game :"D.
## Project Structure
```bash
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
└── ..............```
## Views Of the game
the game consists of 3 views beside the start view1) World Map View
responsible for viewing the cities of the game , armies of the player and thier status.2) City View
responsible for showing different buildings for each city where the player could build , upgrade and recruit units ti build his/her army.3) 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.
## Authors
1. [Shimaa Ahmed](https://github.com/ShimaaBetah)
2. [Ahmed Shaawray](https://github.com/shaarawy29)
3. [Ibrahim Abou Elenein](https://github.com/aboueleyes)