Briefly describe modelling tools and techniques

Assignment Help Computer Engineering
Reference no: EM132306586

Assignment

Part I:

Set up your assignment

To set up your assignment you will need to do the following:

• Create a folder called username-A2. For example, mine would be ahendr10-A2.
• Copy the zuul-bad project in chapter 8 of the book projects to your username-A2 folder.
• Create a word document called username-A2-documentation. For example, mine would be ahendr10-A2- documentation. Add your full name and student id to the footer. You will lose marks if you do not do this. Save this word document to your username-A2 folder.

After you have set up your assignment open the zuul-bad project In BlueJ, create a new instance of the Game class, run the play method and familiarize yourself with the game.
You should also:

• Review the code style guide in topic 7 as this is the style you will be required to use in your assignment.
• Download chapter 6 of the text book from topic 7 on mySCU as you will need this for the assignment.

Design your game

Using the given zuul game as a starting point, you must design your own game.

Some possible game scenarios are described in Exercise 6.3 of the text. If you find it difficult to visualize this sort of game scenario, try modelling your game on some familiar real-world location. If you need additional inspiration, you can try playing the original Colossal Cave Adventure game.

You must have the following in your game:

• Your game scenario must have at least six (6) different rooms.
• Your game scenario must have at least six (6) types of exits - north, south, east, west, up, down and any other you require. This requirement does NOT mean that each room must have 6 exits.
• Your game scenario must include at least four (4) items that the player could find, pick up and potentially use.

• Your game must have some way for the player to win. Most likely, this will be by achieving some goal such as finding a particular item, surviving for some specified number of moves... whatever makes sense for your game.

Written Exercise 1

Write a brief description of your game in your word document.

You must:

• Describe your game including the back story and the setting
• List the items in the game
• Explain how the player wins

Written Exercise 2

Draw a map for your game scenario. You must:

• Label the rooms
• Label the exits (connections between rooms)
• Specify the locations of the items

The map can be hand-drawn. You do not need to use a drawing program but your map must be clearly readable. This map must also be placed in the Word doc.

Part 2:

Written Exercise 3

Your game has 6 exits however the zuul-bad game only has 4 exits. Your will also have more rooms than zuul-bad and they will have different names. Copy the following template into your word document and replace the text for each of the methods. You must identify and describe the changes you would need to make to the zuul-bad project to convert it into your game. You need to consider the additional exits and rooms you have in your game. DO NOT WRITE THE CODE...YOU WILL NOT GET ANY MARKS you must identify and describe the changes. I have completed the Room class, so you can see what is required.

Part 3:

Written Exercise 4

The printWelcome method and the goRoom methods contain code duplication and both print a description of the current room and a list of the exits. This is not a good design. Explain why.

Programming exercise 1

Correct the problem of repeated functionality in the printWelcome and goRoom methods by refactoring the repeated functionality out of these methods into a method of its own called getRoomExitsAndDescription. Then call this new method in each place the description and exits need to be displayed.

Written Exercise 5

In the previous exercise you created the getRoomExitsAndDescription method that prints a description of the current room and a list of the exits. This code is contained in the Game class. This is not a good design. Explain why.

Programming exercise 2

• Refactor the code that generates the list of the exits into a method named getExitString in the Room class. This method should return a String listing the exits from the room. For example, if the room has exits to the north and west, this method should return a String containing: "north west".
• Add a method called getLongDescription to the Room class that returns a String containing the description of the current room and a list of the exits of a room (hint: call the getExitString method you just created
• Now that each Room has a method that can print information about a Room refactor the code in the Game class to take advantage of this functionality. i.e. anywhere the Game class uses the getRoomExitsAndDescription method, change it to use your getLongDescription method.

Written Exercise 6

Now that we have made some changes to our code create a template similar to the template I provided for written exercise 3 for the Game and Room class (note that it will be different as you now have new methods and have refactored code into different classes).
Then identify and describe the changes you would need to make to the zuul-bad project to convert it into your game, just like you did in written exercise 3. You need to consider the additional exits and rooms you have in your game. DO NOT WRITE THE CODE...YOU WILL NOT GET ANY MARKS you must identify and describe the changes.

Written Exercise 7

Answer the following question. Has the design improved? You must explain why or why not.

Programming exercise 3

• Update the comments at the beginning of the Game class, the Room class and the message displayed by the printWelcome method so that they describe your game.
• Update the Game and Room class so that it creates the rooms and exits that you invented for your game. You do not need to add any items to your game yet. You will add items later.

Part 4

Programming exercise 4

Even with the improvements we have made to our code there are a lot of places that need to be changed to add a new exit. It would be better if it were possible for an exit to have any arbitrary name and that when given the name of an exit we could find the associated Room that lies beyond. This should sound like a good job for a HashMap where the name of an exit is the key and the Room lying beyond the exit is the value. Improve the design of the Room class by refactoring it so that it uses a HashMap to store the exits instead of an individual field for each exit.
Play the game to check that it still works.

Part 5

Programming exercise 5

Your game scenario requires that there be items positioned throughout the world that the player can pick up and possibly use. An item sounds like something that should be represented by an object! So create an Item class to represent the items in your game. You will need to decide what fields your Item class needs to have, what parameters the constructor will require and what methods the class will have. At a minimum, items will have a name and a description. However, items may have any other attributes that make sense for your game (e.g. weight, colour, value, destructive power ..)

Programming exercise 6

Now that there is a class for representing Items we need a way to allow the rooms to contain an item. Modify the Room class so that one item can be added to or removed from the room. You will need to think about what fields and methods to add to the Room class. Also think about what the methods that you add should do when an attempt is made to add an item to a room that already contains an item, or an attempt is made to remove an item from a room that does not contain an item.

Programming exercise 7

Now that a room can contain an item, when the player enters a room he/she should be told about the item in that room (if there is one). Modify the appropriate code so that if the player enters a room containing an item, the name and description of the item are displayed along with the description of the room and the list of exits.

Programming exercise 8

Edit the code in the Game class so that the items for your game are created and added to the appropriate rooms at the start of the game. Recall that your game must include at least four items. Be sure to test any methods that you add or modify.
Play the game to ensure that your items are appearing in the rooms.

Part 6

Now that rooms can contain items and a player will know when they enter a room with an item, it would be nice if the player could pick up and carry items. Add functionality to the Player class that will allow the player to pick up and drop items. The player should be able to carry any number (i.e. a collection) of items.

Programming exercise 9

Modify the Game class so that it will recognize the command take. When the user enters the "take" command, the item in the current room, if there is one, should be added to the items that the player is carrying and a message should be printed indicating that the player has taken the item. If there is no item in the current room the take command should print an error message. Be sure to test any methods that you add or modify. (Hint: Remember that one task of the Game constructor is to "teach" the CommandReader what words are valid commands. Thus, you will need to make a change in Game's constructor if you want to introduce a new command.)

Play the game to be sure the take command works!

Programming exercise 10

Modify the Game class so that it will recognize the command inventory. When the user types "inventory" the game prints the names of the items that the player is currently carrying. You should think carefully about where the list of item names should be generated. (Consider the fact that the player is carrying the items and think about how the list of exits for a room is generated and displayed.)
Play the game to be sure the inventory command works!

Programming exercise 11

Add support to the game for a drop command so that the player can drop an item by name (e.g. "drop book"). The dropped item should appear in the current room. If the current room already contains an item, the drop command should print an error message indicating that the room is full and the player should continue to carry the item.
Play the game to be sure the drop command works!

Programming exercise 12

Notice that when you use the help command take, inventory and drop do not appear as command words. Modify the printHelp method of the Game class so that it automatically displays any new command words that are added to the game. Do not hard code the words in the printHelp method. Hint: you should modify the CommandWords class to do this.
Play the game to be sure the modified help command works - celebrate!

THIS IS END OF THE REQUIRED PART OF THE ASSIGNMENT.

If you completed all of the above parts, you may complete any or all of the following exercises for extra credit. The excercises can be found in the provided text book chapter from topic 7 on mySCU
PLEASE NOTE YOU MUST:

• Explicitly state which of these bonus problems you have done in your word document or they will not be marked.
• Provide the code you have written for these bonus exercises in your word document or they will not be marked.
Problems worth at most 2 extra points:

• Exercise 6.41 in the text.
• Exercise 6.42 in the text. Problems worth at most 4 extra points:
• Exercise 6.23 in the text.
• Exercise 6.43 in the text.

• Exercise 6.44 in the text.
• Exercise 6.45 in the text.
• Allow each room to contain a collection of items (rather than just one).
• Modify the game so that only a list of the names of the items in a room are displayed when the player enters. Then add a look command that allows the player to look at an item in the current room by name. For example, if the player types look book and there is an item named "book" in the current room, your game should display the description of that item. If there is no such item, your game should display an error message. If the player enters the look command with no second word, it should display the entire description of the room, its exits and the names of any items again.
Problems worth at most 6 extra points:

• Exercise 6.26 in the text.
• Exercise 6.47 in the text.
• Modify your game to allow the player to win (as you described in your game scenario).
Problems worth at most 8 extra points:

• Do Exercise 6.48 in the text. Note that you must do Exercise 6.47 before doing this one. Hints:
You can add the following method to the Room class to randomly choose an exit for the character when it moves. Note that exits is the field (of type HashMap) that contains the exits for the room - if you used a different field name, use that name instead.
/**

* choose a potential exit at random

*/

public String randomExit() {

Object [] dirs = exits.keySet().toArray();

int index = (int) (Math.random() * dirs.length); return (String) dirs[index];
}

Your test cases for character movement do not need to check the location of the character after moving (because characters may move randomly).

Attachment:- Programming.rar

Assignment 2 - Systems Analysis and Design

Presentation: 5 Minutes during the tutorial time

Presentations are to be delivered during tutorial times of the final two weeks of the session.

Presentation Topics:
0. Project Management:Describe two personal experiences (in your student life, your working life or your home life) within the last two years where a project management approach would have been helpful. What specifically would have helped in each situation? How would you have applied the core processes? What tools would have been useful?

1. Requirements Modelling:An information technology teacher at a local High School has asked you to visit her class and give a presentation about requirements modelling. Develop a presentation that will briefly describe modelling tools and techniques and why these are used. Include information about the object-oriented approach to software development and specific models for this approach.

2. Interface Design:Search the web to find an example of one good and one bad user interface design in information system packages. What makes good and bad design in these interfaces?Discuss the extent to which your analysesare based upon the technical aspects of the Information System and to what extent these are based upon the usability aspects for human operators.

3. Agile Development:Using the materials in the textbook and your own research, prepare a presentation on the pros and cons of agile development methods. You may focus on one or two methodologies as your example.

4. Cloud Computing:Your manager informs you that she's booked you to present a short talk on cloud computing to a small business, looking to expand their information system, which does not have many internal resources. Using your text and your own Internet research, prepare and present a talk on cloud computing and it's applicability to their information systems.

5. Problem or Opportunity:Describe the difference between an Information System being designed and developed to solve a business problem compared to being designed and developed to respond to an evolving business opportunity. Use at least one example that has been reported in the media over the last two years.

6. Product Training:Using the internet, find an example of training for a software or hardware product. Present a brief summary of the product, the training, the type of training offered and the cost of training. Do you think this training is effective? Why or why not?

7. Versioning:Research and present your findings on version numbers for releases of software. For example, if a version is version 4.5, what sort of changes would justify a 5.0 release? What about 4.5.1or 4.6? Give an example of a software product that uses this kind of version numbering and explain the significant changes between release numbers.

8. Emerging Technologies:Using the internet, find an example of an emerging information technology that can be anticipated to generate new capabilities for information systems. Provide a clear rationale on why this may be considered to be "disrupting" to existing businesses and business models.

9. Prototyping:Prototyping is a common technique used in system design and development, particularly when agile methods are used. Prepare a presentation that describes the types of prototyping and their relative advantages and disadvantages. You may also make mention of prototyping tools in your presentation.

Attachment:- Presentation Topics.rar

Reference no: EM132306586

Questions Cloud

Microsoft dynamics program : I'm working on a powerpoint presentation (5 talking points) that focuses on Business Intelligence.
What were the main sources of the conflict : What were the main sources of the conflict? What interventions can be used to improve the quality of conflict a team?
Define both rationalism and empiricism : Theories seem to be such esoteric notions for a profession that seemed to function well for decades, without highlighting them. Can our practice history.
Described targeted customer thru segmenting-targeting : Described targeted customer thru segmenting, targeting and positioning for the Xbox Adaptive Controller product.
Briefly describe modelling tools and techniques : presentation about requirements modelling. Develop a presentation that will briefly describe modelling tools and techniques and why these are used
How understanding risk and returns will impact this decision : Discuss whether McCormick & Company should invest in a new factory in Largo, Maryland. Give credit to any sources you use to support your statements.
According to porter discussion of industry analysis : According to Porter's discussion of industry analysis, is Mac OS computer a substitute for Window OS computer?
Characteristics of walmart and organizational structure : Discuss the characteristics of Walmart and their organizational structure.
Analyze financing and investing activities project step : Advise Frank on the factory purchase decision based on the questions in the Analyze Financing and Investing Activities project step.

Reviews

Write a Review

Computer Engineering Questions & Answers

  Define your ideal home network configuration in detail

explain your ideal home network configuration in detail. In this description, include the costs of all components such as routers, computers, printers, and back-up drives.

  Outline a plan that sets the expectations for your team

Imagine that you are an agile coach. Outline a plan that sets the expectations for your team when beginning a project. Provide a rationale for your response.

  Complete pseudo code for the given hash table operations

Assume Hashtable is a simple array of size 8, with indices 0..7. Numeric keys are mapped by a Hashfunction that gives the mod(8,n) value for any key "n".

  How many pins would this chip have

Consider a memory chip with 10 rows, 10 colums, and 8 banks and a 64-bit data bus.Express the capacity in bytes of this chip as a power of 2.

  What are the speech and auditory devices

What's the difference between Anthropomorphic design and Non anthropomorphic design. What are the speech and auditory devices ?

  Create the memory space to hold an array of integers

The program will fill the arry starting at location [0][0] with the user selected starting number and each element after will be incremented by the user.

  What visual aids should susan use during her presentation

What are some specific issues and options that Susan should consider in making a decision?

  What is your analysis to increase the traffic on the site

Question: What is your analysis that utilising our own platform for our website would increase the traffic on the site Yes/No and WHY

  What instance variables does a child class inherit

What is inheritance? What is a subclass? What methods does a child class inherit? What instance variables (fields) does a child class inherit?

  Discuss the quine-mccluskey method

Given the table of values of a Boolean function, use the Quine-McCluskey method to find a minimal sum-ofproducts representation of this function.

  What are three-dimensional cad models used for

Define CAD. What are two-dimensional CAD models used for? What are three-dimensional CAD models used for?

  Write a test program that prompts the user to enter a string

Write a test program that prompts the user to enter a string and displays the num ber of letters in the string 6.21 .

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