Microsoft Word - ITECH XXXXXXXXXXAssignment-2.docx ITECH7201 Software Engineering: Analysis and Design (1907) CRICOS Provider No. 00103D ITECH XXXXXXXXXXAssignment-2.docx Page 1 of 5 Assignment 2...

1 answer below »
Should be free of plagiarism


Microsoft Word - ITECH 7201 1907 Assignment-2.docx ITECH7201 Software Engineering: Analysis and Design (1907) CRICOS Provider No. 00103D ITECH 7201 1907 Assignment-2.docx Page 1 of 5 Assignment 2 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. Timelines and Expectations Percentage Value of Task: 20% Due: Sun, Jun 2, 2019 - 23:55 (week 11) Minimum time expectation: 20 hours Learning Outcomes Assessed The following course learning outcomes are assessed by completing this assessment:  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  Understand the distinction between software engineering and programming, and thus the distinction between a software configuration and a program.  Understand the methods and techniques involved in designing, implementing and maintaining an information system, in particular using an object-oriented approach  Understand how unit tests are used during software development to assist in agile programming techniques such as refactoring  Work together in small teams to complete a fully documented, detailed design and implementation of a small business information system  Demonstrate skills in designing and implementing an information system  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. CRICOS Provider No. 00103D ITECH 7201 1907 Assignment-2.docx Page 2 of 5 Note: It is recommended that you spend some time familiarising yourself with the provided code base prior to beginning any work on this assignment. You should start by spending some time exploring the structure of the code to gain an understanding of the roles each class plays within the system and then complete Lab 7-8. 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, including exactly 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) 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 Power-point presentation to demonstrate your software/program as if you are going to sell this software/program to a prospective customer. The Power-point presentation must contain the following items: CRICOS Provider No. 00103D ITECH 7201 1907 Assignment-2.docx Page 3 of 5 a. A demonstration of the game – 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) e. A statement of your own personal contribution to the assignment f. A statement of your partner’s contribution to the assignment. Do not work with your partner or any other person to complete your individual report. These must be unique and your own work. Please note that assignments will NOT be marked and zero marks will be allocated if the individual statements of personal and partner contributions are not submitted. Submission Each student must submit a single zip file which contains all assignment files in the Assignment 2 submission box provided in Moodle. Submission files include a photograph or a scanned image of your hand-drawn map, code for each deliverable/milestone, presentation file, and an individual report containing your student number, name, your partner’s student number and name, diagrams, user stories and contribution statements. CRICOS Provider No. 00103D ITECH 7201 1907 Assignment-2.docx Page 4 of 5 Marking Criteria/Rubric Student ID Partner ID Student Name Partner Name Pre-Requisites For Marking  Statement of personal contribution and partner’s contribution Task Available Marks Student Mark Paired Tasks a. Functionality as detailed in Lab 7 and Lab 8 b. Keeping the provision of taking the values of M and N while the program is in execution 6 6 c. Hand-drawn map detailing custom game environment, implemented in the game, with at least M different locations including exactly N shop(s), and items to allow for full testing 6 d. Item management commands: 3 3 3 3 i. listItems / getItem / dropItem ii. equipItem / unequipItem iii. purchaseItem / sellItem iv. getmazestatus e. Implementation of combat sequences between a player and hostile NPCs, including variable outcomes and the ability to flee. f. Implementation of collectable items used to restore a player’s life points 5 5 g. Unit test h. Power-point presentation 15 15 Individual Work Individual report containing team details and: a. User stories for each of the deliverables / milestones 10 b. Class diagrams for Lab 7 and Lab 8 10 c. Sequence diagrams for two of the item management commands from different groups. 10 Total 100 The percentage value of the Task 20% CRICOS Provider No. 00103D ITECH 7201 1907 Assignment-2.docx Page 5 of 5 Feedback A completed marking guide will be uploaded in Moodle and marks uploaded to fdlGrades within 2 weeks of assignment submission. Plagiarism: Plagiarism is the presentation of the expressed thought or work of another person as though it is one's own without properly acknowledging that person. You must not allow other students to copy your work and must take care to safeguard against this happening. More information about the plagiarism policy and procedure for the university can be found at http://federation.edu.au/students/learning-and- study/online-help-with/plagiarism.
Answered Same DayMay 25, 2021ITECH7201

Answer To: Microsoft Word - ITECH XXXXXXXXXXAssignment-2.docx ITECH7201 Software Engineering: Analysis and...

Pritam answered on Jun 01 2021
154 Votes
MazeGame?Presentation (1).pptx
Console-Based RPG Engine in JAVA Programming Language

Overall Characteristics of the RPG Engine 
Any RPG running on this engine is to be a single player game
The game is played from the first person perspective 
At each turn, the user types commands at a text console
The user then receives information back from the game 
The commands allow a user to interact with t
heir virtual world 
Interaction is through doing tasks such as: 
   1) moving in any particular direction, 2) picking up a weapon,
   3) talking to other characters, 4) engaging enemies in combat
 Map/Maze Navigation in RPG 
Map data is hardcoded into the code for the game 
Also, a starting location is specified for the player 
Each location in the maze can be exited in one of 10 possible directions: 
    north, south, east, west, northeast, northwest, southeast, southwest,
    up or down.
A player may move from one location to another using any valid exit
Some of the exits may be 'locked', in which case the player will need to find items to unlock the exit before proceeding. 
Each location contains the following attributes:
    exits, items, a description, any non-player characters (NPC)
The Role of Items in the RPG 
During the gameplay, the player can pick up and use various items
Items are used to perform various tasks such as: 
    1) unlocking doors, 
    2) restoring life points, 
    3) solving certain problems,
    4) to buy things (such as weapons or armour)
Items have the following attributes:
    a value (gp), a weight (lb), a description
Characters in the RPG 
Each character in the RPG is designed to have the following attributes: items holding, items wearing, name, items carrying, life points, armour class, strength, agility
The player is also a character, and has the same attributes, but is able to control his attributes through his actions during the game. 
Non-player characters (NPCs) have the attributes of characters plus a couple of additional attributes:
 hostile to player (yes/no), conversation
Weapons and Armours in the RPG 
Each character can be equipped with different weapons
At any point of time, a player may only be armed with a single weapon, and it costs a turn to change weapons
Similarly, each character can be wearing armour
Armour gives the player or NPC a certain degree of protection from attack 
Players may wear armor plus carry a shield
Some locations on the map are earmarked as blacksmith’s forges, where armour and weapons can be bought or sold
If an item is bought, the player pays the listed value of the weapon or armour 
If an item is sold, then the player receives only 80% of the listed value
Building Parties with Groups of Characters 
As the game progresses, some NPCs (who are not hostile to the player) may join the player’s quest
Thus, the player typically controls a party containing the following attributes:
    the player, current location, any NPCs who have joined the player’s quest
NPCs can also be grouped into a party containing the following attributes: current location, list of NPCs in the party, moveable 
If the player’s party encounters a hostile NPC (or a group of hostile NPCs), they will engage in combat.
A player’s party can choose to attack or flee
If a player’s party flees, they have to flee through a random exit.
Rules of Combat in the RPG 
Each character in the location where the combat is happening takes turns to attack
The player character starts the turn by attacking a single hostile character 
After the player’s turn, each NPC in the room (with 1 or more life points) is randomly selected and takes a turn to attack a randomly selected hostile character
Whenever one character attacks another, multiple dice rolls are simulated in order to decide the final outcome of this attack 
In order to score a hit that deals damage on a attack roll, the character must roll the target’s Armor Class (AC) or better 
If a hit is registered, a damage roll is performed to determine the extent of damage 
Life points represent how much damage a character can take before dying 
If the damage leaves the victim with less than 1 life points, the victim is considered dead
Class Diagram for RPG 
final41195copy-4-ajfdnisd.docx
The matter of discussion in this assignment is Java Programming Language. The developers have developed a programming language that is known as Role...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here