aboueleyes / the-conqueror

A single player turn-based empire building game.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TheConqueror

Codacy Badge

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 😌.
  • For my future employer who will accept my resume when seeing this wonderful clean code game :"D.

Project Structure

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 view

  1. 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
  2. Ahmed Shaawray
  3. Ibrahim Abou Elenein

About

A single player turn-based empire building game.

License:MIT License


Languages

Language:Java 99.8%Language:Python 0.2%