Skip to content

Latest commit

 

History

History
71 lines (35 loc) · 4.94 KB

F17_lab03.md

File metadata and controls

71 lines (35 loc) · 4.94 KB

//The RogueLike Miguel Berlanga | Alex Berlanga

#(a) Description The player starts in a pitch black room and is left to explore. As the player moves he/she will find more of the cave illuminated including walls and corridors. The player will discover monsters which they can attack by trying to move on top of them. If all the monster are killed in the cave, the player will advance to the next level.

#(b) Current User Stories

As a player, I can provide directional input to move my character up, down, left, or right using WASD keys.

As a player, I can move around to illuminate the area around me and see through walls.

As a player, I can move into  monsters to attack and kill them.

As a player, I can move onto the items dropped by monsters to pick them up.

As a player, I can collect certain items to improve/degrade character attributes.

As a player, I can kill all the monsters in a room in order to advance to the next level.

As a player, I can take damage until my health total drops to 0, which ends the game.

As a player, I recieve a high score after I die to compare with other players/myself

#(c) Assessment of Status of Software

The software runs adequetely. There are few obvious bugs such as being able to see through walls and being able to generate multiple game instaces. When the program is started, it generates a menu screen with several options such as "Play," "Instructions," "Highscores," and "Quit." The functionality of "Play" has already been described in part a. The View highscore will display the number of points a player has earned in the game based on monsters killed. The "Instructions" option will briefly describe how the game works. If the user completes a level, the game generates another one. This continues until the player dies.

#(d) Future User Stories

As a player, I can only start one instance of the game, instructions, and high scores menu.

As a player, I can engage in turn based combat with monsters through a menu of options such as "Attack" or "Run" in order to fight to the death.

As a player, I can find weapons and armor to improve my combat capabilities.

As a player, I am unable to looks through walls to see whats ahead.

As a player, I am view textures of the walls as opposed to "0"'s

As a player, I can progress through levels to reach boss battles.

As a player, I can defeat bosses to discover special loot.

#(e) README Assessment

The Readme covers a good depth of what functions exist in the java files and what they are related too.It is possible this could be described in more depth for an even easier read when the code is looked over. A small table of what each monsters stats is could be implemented along with attributes for when the player progresses. Although the original readme is outdated, the remarks clarify what has been added and what should be improved. Any implementation should be appended to this when it is completed.

#(f) build.xml Assessment

More parts of this build could use more description to provide information on what is happening. There is no JWS legacy code. Build looks ok.

#(g) Assessment of Issues

Currently there is 1000+ points to be earned on this project. The issues are clear and it should just be a matter of problem solving and correction for fixes to these bugs

#(h) New Issues

#80

#79

#(i) Assessment of Code

The code is well documented. Most of the parameters and returns are concise and clear. In the LogicEngine code, there exists some code that explains how it might be possible to implement a new refactoring of monster creation. The RoguePlan and LogicEngine classes are very large and some parts of it could probably be factored into more functions so that there is less clutter. There is a large number of inherited Items such as "Poison","Elixer", "Health Potion",and "Beef". To unclutter this, my best thoughts would be to store these in another folder. Some parts of Monster should have more added documentation. For example, the getDirection() function has a large case statement with no comments to make clear what the intended purpose is. Overall, the documentation is clear, just a few extra comments should be added in certain methods in order to address intended purpose. Understand how the hierarchy of Player, Monster, and Item works.

#(j) Assessment of Testing

The ItemTest and GamePieceTest has good commenting on what is being tested and tests for contructors. LogicEngineTest is a nice added test because it will be able to test in-game features such as if a player can move onto a spot with a creature, if a creature/player can go out of bounds, and if a creature is dead creature is actually alive. If more features are added such as a turn queue, or textures, then more tests should be created to make sure they are functioning properly.