Understand the significance of detailed project planning and control, good communication and documentation and the use of appropriate tools in order to provide a quality product?

OverviewFor this assignment, you will logically extend the functionality of the Maze Game introduced during thelectures, via the modification of the code base as well as documentation and implementation of varioususer stories. This is a paired assignment. However, in case of an exceptional situation (if the numberof students in a group is 3), the group should take special permission from the Lecturer.Timelines and ExpectationsPercentage Value of Task: Minimum time expectation: 20 hoursLearning Outcomes AssessedThe following course learning outcomes are assessed by completing this assessment:? Understand the significance of detailed project planning and control, good communication anddocumentation and the use of appropriate tools in order to provide a quality product? Understand the distinction between software engineering and programming, and thus thedistinction between a software configuration and a program.? Understand the methods and techniques involved in designing, implementing and maintainingan information system, in particular using an object-oriented approach? Understand how unit tests are used during software development to assist in agile programmingtechniques such as refactoring? Work together in small teams to complete a fully documented, detailed design andimplementation of a small business information system? Demonstrate skills in designing and implementing an information system? Demonstrate skills in designing Unit testsAssessment DetailsYou are required to logically extend the functionality of the Maze Game introduced during lectures, viathe modification of the code base as well as documentation and implementation of various user stories.You will use the Boost methodology discussed during lectures, which requires the use of pairprogramming. All documentation, other than the customized game map, must be completed individually.The code base provided for this assignment has already implemented the “warm up” and some “sets”.You will be implementing numerous other “sets” for this assignment using the Boost methodology. The“warm down” stage is not required.You are free to take ideas discussed during lectures and implement these in your own version of thecode base provided in Moodle for this assignment.This assignment will be marked according to the functionality of your code, in addition to the eleganceand extensibility of your design and the quality of your documentation.CRICOS Provider No. 00103D ITECH 7201 1907 Assignment-2.docx Page 2 of 5Note: It is recommended that you spend some time familiarising yourself with the provided code baseprior to beginning any work on this assignment. You should start by spending some time exploring thestructure of the code to gain an understanding of the roles each class plays within the system and thencomplete Lab 7-8.Assignment RequirementsIn Pairs:1. Design and implement a custom environment for your maze game. This requires producingyour own unique hand-drawn map of the maze game environment and changing theHardCodedData file to reflect the locations and items on your map. At least M (M>=5) locations,including exactly N (N>=2) shops with a condition M>N, must be included, as well as enoughitems to allow for proper testing of the game functionality. For example, there must be sufficientitems to verify that a player cannot collect an item if the weight restriction has been met. Note:you should not retain the original locations or items from the provided code base in your versionof the game.2. Implement each of the following deliverables/milestones:a. functionality as detailed in Lab 7 and Lab 8b. commands to manage the various item management commands:i. listItems, getItem, and dropItem, to allow the listing of all held items, collect a newitem and drop a held item.ii. equipItem and unequipItem, to wear / wield a held item, and to stop wearing orwielding an equipped item.iii. purchaseItem and sellItem, to buy an item from a vendor and to sell an item to avendor.iv. getmazestatus to show the status of the maze (i.e., value of M and N)Ensure that weight restrictions are not exceeded and that the context for each command isappropriate. For example, purchasing and selling of items should only occur in a shop.c. Basic combat functions, allowing a player to attack or to be attacked by a non-playercharacter (NPC). A player may flee combat or continue to attack until such time as onecombatant loses all life points. The end result must not be hard-coded, and neither thehostile NPCs nor player may have their attributes configured in such a way that the finaloutcome is pre-determined. Note that combat functions should only be available when theplayer is in the presence of a hostile NPC, and combat may take whatever form isappropriate for your game context rather than being limited to just hits with a weapon.d. Collectable items that, when used, restore life points to a player. The number of life pointsregained should be determined by the roll of 2 six-sided dice up to the player’s maximumhealth. You can elect to allow these to be used during combat if you wish.3. Write Three Unit test cases for each of the methods you are developing in this assignment.You can write the test cases in any Java framework, but Junit is preferred.4. Prepare a short Power-point presentation to demonstrate your software/program as if you aregoing to sell this software/program to a prospective customer. The Power-point presentationmust contain the following items:

You may also like