Implement a custom environment for your maze game

Assignment Help JAVA Programming
Reference no: EM131069845

Overview

For this assignment, you will 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.

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 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

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. Working individually on programming tasks for this assignment is discouraged and will only be approved when necessitated by circumstances. 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 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 six (6) locations, including at least one (1) shop, 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 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.
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. Produce a short video (up to 5 minutes) and upload this to YouTube as an unlisted file. A link to view this on YouTube must be submitted with your assignment. All team members must actively participate (be visible throughout the recording and contribute to the discussion) in the video to:

a. Provide a demonstration of the game - how the game play works and how this was implemented.

b. Explain 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. Reflect on the use of a development methodology in creating the game. How did this assist, or make the development of the game more complicated?

This video 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. All required design patterns must be implemented to be eligible for full credit for this component; otherwise marks will be available on a pro rata basis. All team members must contribute equally to the discussion and be visibly involved in the demonstration. The quality of the video itself will not be assessed - using a mobile phone to record this is fine. If you do not have access to recording facilities, please speak with your tutor prior to week 9 to make arrangements to have this recorded.

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.

Attachment:- Java.zip

Verified Expert

The report contains the maximum explanation as required. All the information added has been up to the point. Also I earlier specified that the report will be 300-500 words.

Reference no: EM131069845

Questions Cloud

Self-assessment of your leadership style and skills : Conduct a self-assessment of your leadership style and skills. You must reference at least two of the tools from thetext. You should also include at least three supportive references in your paper, with at least one being an outsidepeer-reviewed s..
Chapter about regional trade agreements : After all you've read in this chapter about regional trade agreements, what is your assessment of their value? Should their progress continue or be rolled back?
Authority to make decisions that benefit customers : Founded in 1993, P.F. Chang's owns and operates over 120 full-service, casual dining Asian bistros and contemporary Chinese diners across the country. P.F. Chang's strives to create an exceptional dining experience for every customer--and that inc..
Problem regarding the resource-transfer effects : Resource-transfer effects, employment effects, balance-of-payment effects, and effects on competition and economic growth are the major benefits a country receives from inward FDI.
Implement a custom environment for your maze game : ITECH7201 Software Engineering - Design and implement a custom environment for your maze game. This requires producing your own unique hand-drawn map of the maze game environment.
The bill & melinda gates foundation : William (Bill) H. Gates, III, was born in 1955 and began programming mainframe computers at age 13. While attending Harvard University, Gates developed a version of the programming language BASIC for the first microcomputer--the MITS Altair.
Gradual development of modern industrialization : Starting with the first part of the previous century, Europe had a growing economy, a flexible social structure, and a good educational system, which assisted the gradual development of modern industrialization.
Analyze questions associated with chosen case study : Analyze the questions associated with your chosen case study and discuss them using concepts you learned in this course. Explain your rationale for each of your answers to your chosen case study. Format your assignment according to the following form..
Standards in school-society and work increased : In text examples related to the Pygmalion effect, Lou Holtz calls for setting a higher standard. Have the standards in school, society, and work increased or decreased over the last five years?

Reviews

Write a Review

JAVA Programming Questions & Answers

  Http://www.homeworkmarket.com/content/need-help-java-program

Write a Java application program that takes in user input from keyboard and calculate semester grade based on the scores. In this assignment, you are going to rewrite the program, instead of taking keyboard input, you will use dialog box to prompt..

  Create a program named schoolsdemo

Create a program named SchoolsDemo that allows a user to enter data about five school objects and then displays the school objects in order of enrollment size from smalles to largest.

  What does this sequence of statements print

What is wrong with the following variable declarations - What does this sequence of statements print

  Write a java program to accept integer values

Write an algorithm, draw a flow chart and write a java program to accept integer values from keyboard and will find and print the minimum, maximum, summation and average of entered numbers when the number entered from keyboard is smaller than 1

  Declare an array and initialize it

Which one of the following will declare an array and initialize it with five numbers?

  Write an application calccircumference

Write an application (CalcCircumference) that inputs from the user the radius of a circle as an integer and prints the circle's diameter, circumference and area using the floating-point value 3.14159 for ?.

  Write a program that starts a player off with a bank of $15

Write a program that starts a player off with a bank of $15.00.

  User interface menu using doubly linked lists

Each mNode defines the main menu item name, two links to its mNode neighbors (the previous and next mNode) and a link to its first submenu node.

  Task 1university grading system maintains number of tables

task 1university grading system maintains number of tables to store retrieve and manipulate student marks. these tables

  Create a gui front end for your bubble sort program

Design and implement a Java program which sorts a 10 element integer array using the bubble sort process. The elements of the array to be sorted should be supplied by the user (assume the user will not input duplicates).

  The calculator should display the amount of commission

The calculator should display the amount of commission (in dollars), based on the amount of sales entered and the commission rate selected and the total annual compensation.

  Design a solution to the problem by using the five steps to

the software needs to allow the restaurant owner to schedule employees for up to 40 hours in a seven-day week. the

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