Hearthstone Documentation

Hearthstone Documentation

Requirements & Specifications

Requirements and Specifications for this software solution includes:

The software solution must include AI. No modules or external libraries may be used meaning no online multiplayer functionality.

Therefore AI must be programmed to combat this issue.

Data Flow Diagram (DFD)

The following diagram shows the flow of data within the software solution:

step2-terminal

System Flowchart

The following diagram shows the processes and subrountines used within the software solution:

step2-terminal

IPO Chart

The following diagram shows the inputs, processes and outputs within the software solution:

step2-terminal

Logbook

Date Achieved Task
20/06/20 Initial Commit
21/06/20 Fixing merge conflicts with git branch
25/06/20 Removed all jquery, however this has removed the attacking functionality.
Added folder that contains all the sources.
SVG Path now works without jquery.
Basic attacking functionality is now working with no jquery.
Dynamically render images for each object (card)
Dynamically render attack, health, mana and image for each object (card).
26/06/20 All cards now can be dragged around and if dragged onto the board collision is detected and the element is removed.
(ready to implement card to appear on the board)
Removed the temp solid border on the collision box.
Implemented currentAttack and attacker error checking to ensure the currentAttacker is an ally and the target is an enemy.
The end turn button now works and placing cards on the board roughly works *just need to fix a major bug when a card is placed.
Placing cards functionality almost finished (need to ensure card on the board is the same as the card that was initially placed).
Fixed bug where you could spam click the card to get free minion cards on the board without the card being removed from your hand.
27/06/20 Fixed bug where if you end the turn whilst you have cards in your hand when those cards are placed onto the board > 1 would appear on the board.
Improved GUI and graphics including animated gifs etc.
28/06/20 GUI and graphics continued to be improved etc.
Implemented GUI and graphics that lets the user know when he can attack and/or with what cards./td>
29/06/20 Can now attack only once per turn as required.
30/06/20 Pushing unstaged files to the repo.
fix merge conflicts
updating the image directory
01/07/20 Added more AI functionality
02/07/20 more AI functionality
05/07/20 Correct card now appears on the board when placed
11/07/20 Can now only have a maximum of 10 cards in hand and 7 cards on the board (both the player's and the AI's)
12/07/20 Created mod/settings sidebar
13/07/20 New fps counter and more bug fixes
fps counter
15/07/20 visual improvements including more animations & sounds + game menu
16/07/20 local time & more dialogue & updated options menu
shake screen when attack is larger than 5
improved quality big attack sound effect
updated winning screen
17/07/20 added main menu and hero attack damage label
fade out volume of the mainmenuOST for playbtn onclick
18/07/20 updated tutorial & dynamically changing game to suit the tutorial
update local storage for tutorial
fix merge conflicts
19/07/20 added voicelines, sounds and animations for tutorial
20/07/20 more tutorial updates and added gold (currency for packs)
refactored already implemented AI
21/07/20 added gacha system opening packs etc.
22/07/20 updated gacha system including animations and updated AI
24/07/20 fix CORS policy issues and improve the GUI of a card when in play
25/07/20 finished basic AI functionality
26/07/20 it is now guaranteed to start with a 1 mana card and the AI will now take time to make turns
27/07/20 implemented and finalised mana system for the player
implemented GUI for mana system
28/07/20 hero power is now functioning
29/07/20 updated card place snds and anims + basic automated function testing
31/07/20 added card effects (including battlecry's, taunts and divine shields)
2/08/20 further tutorial quality updates + seperate AI deck
bug fix (skip btn no longer appears in play mode)
4/08/20 removed cinematic autoplay property