Hearthstone Documentation
Requirements & Specifications
Requirements and Specifications for this software solution includes:
- Allowing for user interaction
- Use of JS to create a dynamically functioning page
- The utilisation of pure/vanilla JS (no external libraries or scripts)
- Hosting the software solution on the
pages.github.com
domain
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:
System Flowchart
The following diagram shows the processes and subrountines used within the software solution:
IPO Chart
The following diagram shows the inputs, processes and outputs within the software solution:
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 |