Skip to content

2D Computer game inspired by Hearthstone. Fully implemented using Java.

Notifications You must be signed in to change notification settings

mohammadhossam/Hearthstone

Repository files navigation

Description

Clone of Hearthstone game implemented with Java programming language using Object Oriented Programming features. The Model-View-Controller (MVC) design pattern is used.

Instructions

  1. Selecting Heroes: After pressing on “Start Game” button at initial screen, you will be directed to a page that is divided into 2 parts. Each part is intended for one player and contains 5 buttons to enable the player to choose between the 5 different classes available in the game. Then, you should press on “Play” button to start the actual game.

  2. Playing Minions: The current hero’s hand cards will appear on the right and the left of the hero’s label. In order to play a minion to the field, you just click on it.

  3. Casting Spells: As stated in the previous point, the spells will also appear on the right and the left of the hero’s label. To cast a spell, you also click on its image. If it requires a target (i.e., a Minion Target Spell, Hero Target Spell or Leeching Spell) you will be prompted to select a target. Then, you should click on the target you want the spell to affect to trigger the spell’s effect.

  4. Attacking with Minions: To attack with a minion, you should first click on the attacker minion that is on the current hero’s field. After that, you will be prompted to choose a target. Then, you should click on the target (either a minion or a hero).

  5. Ending Turn: You will find a button on the right of the screen labeled “End Turn” to trigger ending turn functionality.

  6. Screen Orientation: The current hero, all its related info and different types of cards are always at the bottom of the screen and the opponent hero is at the top. After ending turn, the heroes’ positions are switched to match those settings.

  7. Other Details:

    1. To play the game, you should run Controller class found in the package: “Controller”.

    2. The window size of the game is 1440*817.

    3. The vast majority of the errors and exceptions are reported through sounds.

    4. The rarity of a minion is written clearly at the bottom of each minion whether it is in the hand or in the field. For the other properties (Taunt, Divine Shield and Charge), they are indicated with the first letter of each property written next to the rarity (T for taunt, D for divine shield and C for charge.)

    5. Non-sleeping minions are indicated with a green border around them. On the other hand, sleeping minions have black borders.