Extend the functionality of the maze game

Assignment Help Other Subject
Reference no: EM133148822

ITECH7201 Software Engineering: Analysis and Design - Federation University Australia

Overview

For this assignment, you will logically extend the functionality of the Maze Game introduced during the lectures, via the modification of the code base as well as documentation and implementation of various user stories. This is a paired assignment. However, in case of an exceptional situation (if the number of students in a group is 3), the group should take special permission from the Lecturer

Learning Outcome 1: 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
Learning Outcome 2: Understand the distinction between software engineering and programming, and thus the distinction between a software configuration and a program.
Learning Outcome 3: Understand the methods and techniques involved in designing, implementing and maintaining an information system, in particular using an object-oriented approach
Learning Outcome 4: Understand how unit tests are used during software development to assist in agile programming techniques such as refactoring
Learning Outcome 5: Work together in small teams to complete a fully documented, detailed design and implementation of a small business information system
Learning Outcome 6: Demonstrate skills in designing and implementing an information system
Learning Outcome 7: Demonstrate skills in designing Unit tests

Assessment Details
You are required to logically extend the functionality of the Maze Game introduced during lectures, via the 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 pair programming. 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 the code base provided in Moodle for this assignment.
This assignment will be marked according to the functionality of your code, in addition to the elegance and extensibility of your design and the quality of your documentation.

Assignment Requirements
In Pairs:

1. Design and implement a custom environment for your maze game. This requires producing your own unique hand-drawn map of the maze game environment and changing the HardCodedData file to reflect the locations and items on your map. At least M (M>=5) locations, and at least N (N>=2) shops with a condition M>N, must be included, as well as enough items to allow for proper testing of the game functionality. For example, there must be sufficient items 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 version of the game.

2. Implement each of the following deliverables/milestones:
a. functionality as detailed in Lab 7 and Lab 8
b. commands to manage the various item management commands:
i. listItems, getItem, and dropItem, to allow the listing of all held items, collect a new item and drop a held item.
ii. equipItem and unequipItem, to wear / wield a held item, and to stop wearing or wielding an equipped item.
iii. purchaseItem and sellItem, to buy an item from a vendor and to sell an item to a vendor.
iv. getmazestatus to show the status of the maze (i.e., value of M and N)
v. flee/use potion command - used in danger.
vi. join/leave a Party
vii. talk to character
viii. help command

Ensure that weight restrictions are not exceeded and that the context for each command is appropriate. 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-player character (NPC). A player may flee combat or continue to attack until such time as one combatant loses all life points. The end result must not be hard-coded, and neither the hostile NPCs nor player may have their attributes configured in such a way that the final outcome is pre-determined. Note that combat functions should only be available when the player is in the presence of a hostile NPC, and combat may take whatever form is appropriate 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 points regained should be determined by the roll of 2 six-sided dice up to the player's maximum health. 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 (5-7 min) video presentation to demonstrate your software/program as if you are going to sell this software/program to a prospective customer. The presentation must contain the following items:
a. A demonstration of the game from start to finish - how the game play works and how this was implemented.
b. Explanation of the role of design patterns in the game, clearly identifying the functionality where design patterns have had an impact and how this has occurred.
c. An analysis on the use of a development methodology in creating the game describing how did this assist or make the development of the game more complicated.
This presentation will be assessed based on the clarity and accuracy of the explanations and how clearly it demonstrates an understanding of how the game was coded, the design patterns used and the impact of using a development methodology.
Individually:
1. Prepare an individual report, to be submitted as a Word document or a PDF, which includes:
a. The student number and name of each person on your team (including yourself)
b. User stories for each of the deliverables/milestones
c. Class diagrams for Lab 7 and Lab 8
d. Sequence diagrams for two (2) of the item management commands, taken from separate groupings (i.e. you will not get credit for both getItem and dropItem as they are both in group (i) above)
e. A statement of your own personal contribution to the assignment
f. A statement of your partner's contribution to the assignment.

Attachment:- Software Engineering.rar

Reference no: EM133148822

Questions Cloud

Make a paragraph on the litigation services they offer : Research and identify the "Big Four" accounting firms in Australia. Visit the websites for two of these firms. Make a paragraph on the litigation services
What the cost of ending inventory under WAM : During the month of January, 12,000 units were transferred to Department B. What the cost of ending inventory under WAM
Discuss an article involving audit failure : The purpose of the audit is to provide assurance as to the accuracy of financial statements. Discuss an article involving audit failure
Compute the wholesale sales mix variance : The budgeted sales in units via the wholesale channel is 10,000. Use the information presented for BC Products to compute the wholesale sales mix variance
Extend the functionality of the maze game : You will logically extend the functionality of the Maze Game introduced during the lectures, via the modification of the code base as well as documentation
Compute the monthly beginning of-the-period payment : Compute the monthly beginning of-the-period payment that is necessary to fund the current value of college education costs
How much would the gross profit be : If a computer company bought computers for $10,000 and sold them for $16,000, how much would the gross profit be on the entire shipment
Define terminal value : In discounted cash flow analysis, there are two distinct time periods. First there is projection period and then there is Terminal Value. Define Terminal Value
Prepare journal entries to record the transactions : Prepare journal entries for 2021 to record the transactions described (credit "various accounts" for construction costs incurred)

Reviews

Write a Review

Other Subject Questions & Answers

  Relationship between cutural and cross-cultural psychology

Analyze relationship between cutural and cross-cultural psychology

  Research potential funding opportunities by visiting access

Research potential funding opportunities by visiting - Partners in Information Access for the Public Health Workforce.

  Describe what data are generated

Within your normal routine, Identify 3 different sources of data. Describe what data are generated and how the data is used or applied by the user.

  Discuss the importance of performance appraisal

Discuss the importance of performance appraisal as a developmental tool and if the performance appraisal should be tied to an employee salary increases?

  Mission and goal of the organization

The mission of Gilda''s Club South Florida is to ensure all people impacted by cancer are empowered by knowledge, strengthened by action, and sustained

  Discuss the centralized versus decentralized

Essay needs to be on Centralized Versus Decentralized . paper needs to be in Apa format, 8 page paper , double spaced , needs to have 4 sources so that means.

  Special perceptual process

In an evolutionary sense, why would it be important for us to have this "special" perceptual process, even at an infant stage?

  Motivational strategies

Discuss at least 3 motivational strategies that you can use to promote a positive classroom environment.

  What is proper role of government in providing health care

What is the proper role of government in providing health care, welfare, affordable housing, or retirement security according to the definition of rights in the Declaration of Independence?

  Options for accomplishing this goal in lawful manner

What are some options for accomplishing this goal in a lawful manner? How should employers who need employees to be on-call structure these arrangements to conform with the law while minimizing overtime liability?

  LI499 Bachelors Capstone in Liberal Studies Assignment

LI499 Bachelor’s Capstone in Liberal Studies Assignment help and solution, Purdue University Global - assessment writing service

  Explain the essentials of defining digital forensics process

Explain the essentials of defining a digital forensics process and provide two (2) examples on how a forensic recovery and analysis plan could assist.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd