Lab 10: Refactoring a project and adding functionality to a project with numerous classes Goals: - Refactor a relatively large project - Design solutions that involve a project with munerous classes - Develop (analyze, design, code, test, document) more sophisticated programs Refactor the Zuul project to have an Item class and a Player class. Use these classes to implement the functionality described in section 7.12. Each room must be able to hold multiple items. The player can pick up an item from its current room. The player can later drop this item in a(nother) room. Make sure you create test classes for your new functionality. If there are application (game) functionalies that are not easy to test via a test class (because of the interactive user interface, for example), the tests for these functionalities must be documented in a test suite. Your code must be documented and you must generate Javadoc documentation that includes all your classes and any methods that you have updated. Extra credit: Implement a Backpack class. The player can use a backpack to carry (hold) multiple items. Double extra credit (when completed this week): Implement a TransporterRoom class as described in problem 7.46.