Recent Question/Assignment

ITECH 3201/7201 Assignment 2
2015/07
Due: As per course description
Marks: 20 marks
Disclaimer
You must use the code supplied on the course website (posted under the assignment 2/ lab 7 entry).
Do not use code given to you by another student (or past student) as the codebase will be different and you will be awarded ZERO MARKS for the assignment task.
Description
This assignment is a logical continuation of the case study presented in the lectures and lab 7 requiring you to develop features on top of an existing application. The code base you will be using is an implementation of the “maze game” previously discussed.
You should start by spending some time exploring the structure of the code, understand the roles each class plays within the system then completing lab 7. Modify the code by adding some locations and exits as a way of getting familiar with it.
You will be required to implement a variety of user stories using the Boost methodology. The “warm up” and some “sets” have been implemented already and your task is to implement a number of further “sets” using the Boost methodology (no “warm down” is required).
Marks will be allocated according to the functionality of your code in addition to the elegance and extensibility of your design and the quality of your documentation.
You are free to take ideas presented in the lectures and integrate it into your existing codebase however you must work within the code base given to you by your lecturer for this assignment.
Pair Programming
The Boost methodology mandates the use of pair programming the programming for the assignment can be performed in pairs (and pairs should be formed from within a lab group). If you can’t form a pair you may choose to develop this by yourself (although this is discouraged). If you choose to take advantage of working with a partner, you must declare your partner in your final report
Your documentation will be prepared individually (not in pairs), and is expected to be unique (ie: don’t do this with someone else it runs the risk of you be caught up with plagiarism).
Hand up
Each student is required to submit in Moodle a single “zipped up” package including each code milestone and a report containing your name and student number, your partner’s name and student number, each user story and any UML diagrams.
For those that choose to work in partners. In your report you are also required to provide a short statement indicating your personal contribution to the assignment and your partners contribution to the assignment, and what you feel you have learned (if anything) from the experience. This statement is mandatory and assignments will not be marked if this statement is not present in the report.
Deliverables/Milestones
• Lab 7
• Lab 8
• Buy Item (requiring the exchange of money and consideration of weight restrictions for the player) • Pickup Item
• Wear Armor
• [ITECH 3201 only] Flee location (a -combat state- is triggered when players are co-located with hostiles)
• [ITECH 3201 only – Challenge Task] – this is a more difficult task and should only be attempted when you have finished the rest of the assignment. You should keep a separate version of the rest of the assignment. In this task you are required to implement Parties. The player should be in his/her own Party and there can be other Parties (both hostile and non-hostile) as well. You should implement the user stories
- Ask character to join party
- Ask character to leave party
- Flee hostile party
• [ITECH7201 only] Encounter Hostile NPC
- a -combat state- is triggered when players are co-located with hostiles
- the NPC has the first attack (this is simply a message saying that the -NPC attacks you but has missed- rather than an implementation of the entire combat subsystem)
- the player now has an -attack NPC- command at his/her disposal attack NPC informs the player that their attack was successful and the NPC is now dead (if the NPC is hostile). If a weapon is being wielded then it should also be displayed. For example, You have attacked (name of the hostile) with a dagger (Name of the hostile) is now dead
- otherwise it informs the player that they cannot attack friendly characters
• [ITECH 7201 only – Challenge Task] - this is a more difficult task and should only be attempted when you have finished the rest of the assignment. You should keep a separate version of the rest of the assignment.
In this task you are required to implement the full attack sequence as described in the game description. However, it is only necessary to implement single combat between the player and the selected hostile – the section in which friendly NPCs attack random hostile characters does not have to be implemented.


Mark breakdown
Category Marks Detail
Individual Report 2 Word or PDF document
Lab 7 2 Class Diagram
Completed Code (zipped and marked lab7impl)
Lab 8 2 Class Diagram
Sequence Diagram
Completed Code (zipped and marked lab8impl)
Buy Item 5 Two User Stories
Completed Code (zipped and marked BuyItemImpl)
Unit Tests for the Buy command
Sequence Diagram illustrating the Buy command being executed
Pickup Item 3 User Story
Completed Code (zipped and marked PickupImpl)
Unit Test for the Unlock command
Sequence Diagram illustrating the Unlock command being executed
Wear Armor 2 User Story
Completed Code (zipped and marked WearArmorImpl)
Unit Test for the WearArmor command
Sequence Diagram illustrating the WearArmor command being executed
[ITECH 3201 only] Flee Location 2 User Story
Completed Code (zipped and marked FleeListImpl)
Unit Test for the Sell command
Sequence Diagram illustrating the Flee command being executed
[ITECH 3201 only] – challenge task
Implement Parties 2 Completed code in which the Player and NPCs can be in Party objects
User stories for ask Character to join/leave Party
User story of Flee Location if hostile Party encountered
[ITECH7201 only] Attack Character 2 User Story
Completed Code (zipped and marked AttackImpl)
Unit Test for the Attack command
Sequence Diagram illustrating the Attack command being executed
[ITECH7210 only Full Attack] – challenge task 2 User Story
Completed Code (zipped and marked FullAttackImpl)
Unit Test for the Attack command
Sequence Diagram illustrating theFullAttack command being executed
Total 20