Ask Homework Help/Study Tips Expert

Assignment

Introduction
You must demonstrate your assignment in your timetabled practical class prior to your final submission.

Objective
The objective of this assignment is to develop your programming and problem solving skills in a step-by-step manner. The different stages of this assignment are designed to gradually introduce different concepts, such as loops, arrays, and methods.

Students will be awarded partial marks for explaining a valid strategy, even if the program is not working.

Assessment
Demonstration: The demonstration is worth 10% of the final grade (half of the weight of Assignment 1). The whole assignment group must be present to demonstrate the assignment in a timetabled practical class (tute-lab) prior to the final submission. If members come from different classes, please choose just one of the classes to make the demonstration. Subject to on-time final submission and plagiarism detection, you will receive the preliminary marks for your demonstration. The code should be clean and have proper comments. You can choose to demonstrate either during week 6 or week 7 tute-lab, but you can do it just once.

Assessment tasks

Your program should consist of a LandVille class that contains the main method. The class has a two dimensional array of integers called ‘land'. The ‘land' variable should not be accessible outside the class. The class also has a Boolean variable ‘hasHouse' that stores the information of whether is an existing house in the land. The methods of this class are: displayLand(),buildHouse(), and clearLand().

Task A

The constructor of the LandVille class takes 2 parameters: the number of rows of the land, the number of columns of the land. In the constructor of this class, write code to initialize land with the size of row and column. Initialize each value of the array ‘land' with the value 0, which means that plot is empty. Initialize the value of ‘hasHouse' to false.

Task B

Write a method of the LandVille class called ‘displayLand()' that prints the land as a two dimensional array. Give a space between each element during printing, and use a line for each row. An example of the output of displayLand() is in the following, where the number of rows is 3 and columns is 4.

2403_Output.jpg

Task C

Write a method of the LandVille class called ‘clearLand()' that sets the value of each element of the array ‘land' to zero (0). Set the value of ‘hasHouse' to false.

Task D

From the main method, ask the player for the row and column of the land. The number of rows and the number of columns should be greater than 0 and less than or equal to 10. If any input is not correct, show an error message and ask for that input again.

If all inputs are correct, create an object of LandVille class from main method. The row and column values are passed as the parameter of its constructor.

Task E

From the main method, show a menu to the user with the following options:
1. Build a house
2. Display land
3. Clear the land
4. Quit

Take the input option as an integer. As long as the input is not between 1 to 4, show the menu message and ask for input again. If the input is 4, terminate the program. If the input is 2, you need to call the displayLand() method of LandVille class (displayLand method is described in Task B). If the input is 3, call the clearLand() of LandVille class.

If the input is 1, you need to check first if there is already a house in the land. If there is a house, show an error message and show the menu again. Otherwise, call the buildHouse() method of LandVille class. Method buildHouse() of the LandVille class takes two input parameters: number of rows of the house to build, and the number of columns of the house to build. From the main method, ask for these parameter values as input, then call the buildHouse method with these inputs.

After the buildHouse is executed (details in task E), the program should keep showing the menu and ask for input from the menu.

Task F

Write a method buildHouse() of the LandVille class that takes two input parameters: number of rows of the house to build, and the number of columns of the house to build.

You need to build the house at the top-left corner of the land (i.e., from row 0 and column 0), with borders of width 1 on each side. The position of house is represented with the integer ‘8' and the border is represented with ‘1'.

To make sure that the house with the border on each side will fit in the land, the difference between the row of the house and the row of that land must be greater than or equal to 2. Similarly, the difference between the column of the house and the column of that land must also be greater than or equal to 2. If any of the input parameters do not satisfy the condition, show an error message and then return from this method. As an example, let the row number of a land is 7 and column number is 6. The row number of the house is 3 and column number is 5. In this case, do not make any change to the ‘land' array, show an error message, and return from the buildHouse method.

If all the input parameters satisfy the condition, you need to set the values of appropriate elements of the ‘land' array with ‘1' for border and ‘8' for the house. As an example, let the row number of a land is 7 and column number is 6. The row number of the house is 3 and column number is 2. The land array will look like the following -

2294_Output1.jpg

As another example, let the row number of a land is 5 and column number is 4. The row number of the house is 1 and column number is 2. The land array will look like the following

1762_Output2.jpg

Write code of buildHouse method to change the value of the array ‘land' for the house and border. Set the value of ‘hasHouse' to True. After building the house, call displayLand() from the buildHouse method.

Attachment:- LandVille.zip

Homework Help/Study Tips, Others

  • Category:- Homework Help/Study Tips
  • Reference No.:- M92782746
  • Price:- $40

Priced at Now at $40, Verified Solution

Have any Question?


Related Questions in Homework Help/Study Tips

Review the website airmail service from the smithsonian

Review the website Airmail Service from the Smithsonian National Postal Museum that is dedicated to the history of the U.S. Air Mail Service. Go to the Airmail in America link and explore the additional tabs along the le ...

Read the article frank whittle and the race for the jet

Read the article Frank Whittle and the Race for the Jet from "Historynet" describing the historical influences of Sir Frank Whittle and his early work contributions to jet engine technologies. Prepare a presentation high ...

Overviewnow that we have had an introduction to the context

Overview Now that we have had an introduction to the context of Jesus' life and an overview of the Biblical gospels, we are now ready to take a look at the earliest gospel written about Jesus - the Gospel of Mark. In thi ...

Fitness projectstudents will design and implement a six

Fitness Project Students will design and implement a six week long fitness program for a family member, friend or co-worker. The fitness program will be based on concepts discussed in class. Students will provide justifi ...

Read grand canyon collision - the greatest commercial air

Read Grand Canyon Collision - The greatest commercial air tragedy of its day! from doney, which details the circumstances surrounding one of the most prolific aircraft accidents of all time-the June 1956 mid-air collisio ...

Qestion anti-trustprior to completing the assignment

Question: Anti-Trust Prior to completing the assignment, review Chapter 4 of your course text. You are a manager with 5 years of experience and need to write a report for senior management on how your firm can avoid the ...

Question how has the patient and affordable care act of

Question: How has the Patient and Affordable Care Act of 2010 (the "Health Care Reform Act") reshaped financial arrangements between hospitals, physicians, and other providers with Medicare making a single payment for al ...

Plate tectonicsthe learning objectives for chapter 2 and

Plate Tectonics The Learning Objectives for Chapter 2 and this web quest is to learn about and become familiar with: Plate Boundary Types Plate Boundary Interactions Plate Tectonic Map of the World Past Plate Movement an ...

Question critical case for billing amp codingcomplete the

Question: Critical Case for Billing & Coding Complete the Critical Case for Billing & Coding simulation within the LearnScape platform. You will need to create a single Microsoft Word file and save it to your computer. A ...

Review the cba provided in the resources section between

Review the CBA provided in the resources section between the Trustees of Columbia University and Local 2110 International Union of Technical, Office, and Professional Workers. Describe how this is similar to a "contract" ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As