In the current project, there are multiple instances of extremely shortened words in variable names, or extreme contractions. The changes include refactoring these identifier names to be more understandable.
- Armour.java
- About.java
- Enemy.java
- Food.java
- Handle.java
- Help.java
- Property.java
- Quest.java
- Random.java
- Version.java
- Weapon.java
- Achievements.java
- Health.java
- Potion.java
- Settings.java
- Stats.java
See here for more information on testing.
Please view the following to find additional documentation of the changes and the code involved in the changes.
- LOC per unit and method of modified classes.
- CBO of modified classes
- General Complexity Analysis
In the current project, there are multiple instances of long methods. The changes include refactoring these methods to be a more sensible length and separate functionality.
See here for more information on testing.
Please view the following to find additional documentation of the changes and the code involved in the changes.
- LOC per unit and method of modified classes.
- CBO of modified classes
- General Complexity Analysis
In the current project, there are few comments describing general functionality. The changes include refactoring to include header comments above major, non-simple methods (no comments above getters/setters).
- BasicCasinoGame.java
- BlackjackGame.java
- DiceGame.java
- LotteryGame
- SlotsGame
- Armour.java
- Chest.java
- FirstAid.java
- InstaHealth.java
- Power.java
- About.java
- Bank.java
- Casino.java
- Cheats.java
- Debug.java
- Enemy.java
- Food.java
- Game.java
- Help.java
- Loan.java
- Menu.java
- NPC.java
- Shop.java
- Weapon.java
- Coins.java
- Health.java
- Potion.java
See here for more information on testing.
Please view the following to find additional documentation of the changes and the code involved in the changes.
- LOC per unit and method of modified classes.
- CBO of modified classes
Fix the long parameter list code smell by introducing a parameter object. The parameter object that is passed to the Quest class constructor will be from a QuestBuilder class that is created when implementing a builder pattern. The poor encapsulation will be fixed by implementing getter and setter methods that will enable testing for the class.
Please view the following to find additional documentation of the changes and the code involved in the changes.
In the current project, there are multiple instances of unnecessary duplicate code. The changes include refactoring these instances to reduce redundancy.
- InstaHealth.java
- FirstAid.java
- Shop.java
- Weapon.java
- Food.java
- Armour.java
- Enemy.java
- UI.java
- Game.java
See here for more information on testing.
Please view the following to find additional documentation of the changes and the code involved in the changes.
- LOC per unit and method of modified classes.
- CBO of modified classes
- General Complexity Analysis
- Code Analysis
Show Specific Potion Stats, (issue #58 in the source hhaslam11/Text-Fighter repository, issue #7 in the forked emmamickas/Text-Fighter repository)
In the current functionality, when a player views their stats, they are only able to view a total number of potions used, but not individual totals for different types of potions that they have used. The changes include separating the totals for individual potion types to display each total, while also keeping a total of all potions used by the player.
As viewable in the Dependency References folder, the following files were modified in the change:
See here for more information on testing.
Please view the following to find additional documentation of the changes and the code involved in the changes.
- Class Diagrams of modified classes.
- Dependencies of modified or dependent classes.
- Sequence Diagrams of modified or dependent methods.
Show Specific Potion Stats, (issue #46 in the source hhaslam11/Text-Fighter repository, issue #4 in the forked emmamickas/Text-Fighter repository)
In the current implementation, when accessing an array from a static class including Weapon, Enemy, and Food, the array is accessed directly. The changes include implementing an access modifier to these arrays.
As viewable in the Dependency References folder, the following files were modified in the change:
See here for more information on testing.
Please view the following to find additional documentation of the changes and the code involved in the changes.
- Class Diagrams of modified classes.
- Dependencies of modified or dependent classes.
- Sequence Diagrams of modified or dependent methods.
Critical Hits, (issue #25 in the source hhaslam11/Text-Fighter repository, issue #1 in the forked emmamickas/Text-Fighter repository)
In the current functionality, the damage that a weapon can do can be increased by a critical multiplier based upon the weapon's type. The changes include adding another critical modifier that increases the damage done by weapons with bullets only. This modifier has a 0.01% chance to activate and increases damage by a factor of 10.
As viewable in the Dependency References folder, the following files were modified in the change:
See here for more information on testing.
A pull request has been made to merge the change onto the master branch of the source repo.
Please view the following to find additional documentation of the changes and the code involved in the changes.
- Class Diagrams of modified classes.
- Dependencies of modified or dependent classes.
- Sequence Diagrams of modified or dependent methods.
Critical Hits, (issue #130 in the source hhaslam11/Text-Fighter repository, issue #9 in the forked emmamickas/Text-Fighter repository)
In the current implementation, selecting the weaponstash cheat involves accessing an array of weapons in which the final index being referenced is the size of the array, which is out of the bounds of the array. The changes involve updating the condition of the loop that accesses the array to prevent the violation of the index.
As viewable in the Dependency References folder, the following files were modified in the change:
See here for more information on testing.
A pull request has been made to merge the change onto the master branch of the source repo.
Please view the following to find additional documentation of the changes and the code involved in the changes.
- Class Diagrams of modified classes.
- Dependencies of modified or dependent classes.
- Sequence Diagrams of modified or dependent methods.
Add better in-line documentation, (issue #32 in the source hhaslam11/Text-Fighter repository, issue #2 in the forked emmamickas/Text-Fighter repository)
Please view the following to find additional documentation of the changes and the code involved in the changes.
- Dependency Analysis of modified files.
- Program Comprehension of project.
- Class Diagrams of project.
Add more health info in Help section, (issue #37 in the source hhaslam11/Text-Fighter repository, issue #3 in the forked emmamickas/Text-Fighter repository)
In the current implementation, the Health section of the Help Menus doesn't go into detail of the features available that affect player and enemies health.
In the updated implementation, the Health section describes all aspect of the game pertaining to player and enemy health.
Please view the following to find additional documentation of the changes and the code involved in the changes.
- Class Diagrams of modified classes.
- Dependency Reference of Health class.
Potion Brewing and more options, (issue #87 in the source hhaslam11/Text-Fighter repository, issue #8 in the forked emmamickas/Text-Fighter repository)
In the current implementation, there are only two potion types and the player can only purchase potions. In the updated version there are now three types of potions and players can brew potions.
See here for more information on testing.
Please view the following to find additional documentation of the changes and the code involved in the changes.
- Class Diagrams of modified classes.
- Dependencies of modified or dependent classes.
Time, (issue #72 in the source hhaslam11/Text-Fighter repository, issue #5 in the forked emmamickas/Text-Fighter repository)
Add a game clock that would keep track of time, days, months, and years. The game time would be faster than real world time by a certain amount.
Time, (issue #128 in the source hhaslam11/Text-Fighter repository, issue #10 in the forked emmamickas/Text-Fighter repository)
Time, (issue #74 in the source hhaslam11/Text-Fighter repository, issue #6 in the forked emmamickas/Text-Fighter repository)
- README
- Updated running instructions for IntelliJ and Gradle.
- Added a clip that shows game play.
- Updated contributors.
Add More Achievements, (issue #94 in the source hhaslam11/Text-Fighter repository, issue #11 in the forked emmamickas/Text-Fighter repository)
There are currently 21 achievements in the game. They are also not very creative (i.e. level up, kill a specific monster, etc.).
The changes to this issue is that a handful of more creative and desireable achievements were added. Some are easy to achieve, some are not.
Add way more enemies and monsters into the game, (issue #19 in the source hhaslam11/Text-Fighter repository, issue #13 in the forked emmamickas/Text-Fighter repository)
In the current game, there are 10 enemies and monsters for the fighter to kill. The monsters typically come from a fantasy world. In the changes, the number of monsters have now more than doubled up to a total of 23 enemies and monsters spanning all genres of monsters (Greek mythology, Anglo Saxon legends, and good old folk stories).
Testing for this issue was fairly straightforward. There wasn't much required for testing before the enemies were created, but regression testing and playtesting after implementation were both important to confirm accuracy and truancy.
Add tips and hints that would pop up at certain times during play. (issue #65 in the source hhaslam11/Text-Fighter repository, issue #12 in the forked emmamickas/Text-Fighter repository)
In the current implementation, there are no tips or hints to help the fighter navigate their journey through the game. In the updated version (**under construction), the fighter will receive a helpful hint after every other enemy or monster they kill. This could be something as simple as "Some monsters may be too powerful to kill at low levels. Come back and fight them after you've gained some experience and gear."
- TestTipsHints.java](https://github.com/emmamickas/Text-Fighter/blob/AddingPotions/src/com/hotmail/kalebmarc/textfighter/player/TestTipsHints.java)