Ask Homework Help/Study Tips Expert

Mattetris

Problem Statement: Tetris has been a popular video game for decades. We will be implementing a simplified version which the computer simulates rather than having a human control. Considering the implementation is in Matlab, the name will be Mattetris.

The idea of Mattetris is that rectangular blocks will be fitted together into as tight an area as possible.  Input will be the dimensions of the blocks.  For each game, the player will indicate one of three possible sources for the dimensions: 1) interactive human input into a n x 2 matrix, 2) randomly generated by the computer, or 3) input data file to be loaded.  Rules of play are as follows:

1) Make the screen 80 characters wide and as high as needed to display all the rectangles. 

2) Rectangles are placed in the order provided in the input.

3) Rectangles may be placed oriented as given (preferred), or rotated 90 degrees clockwise. 

4) Each rectangle should be placed with its top line as high on the display as possible. 

5) Within that highest line, each rectangle should be placed as far to the left as possible. 

6) After it is placed, a rectangle will not be moved.

Rules for the display of a rectangle are as follows:

1) The characters forming the rectangle are numbered sequentially row by row, column by column, (e.g. as a Matlab matrix on input of 4 3 it would be [1 2 3; 4 5 6; 7 8 9; 10 11 12]).

2) Only the 1's digits are displayed, (e.g. for the above as [1 2 3; 4 5 6; 7 8 9; 0 1 2]).

3) If the rectangle is rotated clockwise 90 degrees, the display should likewise be rotated, (e.g. for the above as [0 7 4 1; 1 8 5 2; 2 9 6 3]).

4) Only the edge of the rectangle is displayed, (e.g. for the above do not display the 5 and 8).  Interior positions show as spaces.

Problem input: You may choose to accept input from the keyboard, either prompting for each rectangle, or prompting for an entire list of rectangles.  Alternatively you may choose to accept input from a data file.  Finally you may choose to specify some number of rectangles to be generated by the built-in random number generator.  Perhaps you can think of other ways to get the data into the program.  In general, each rectangle should be entered as height width pairs (e.g. 6 9 for six rows high and nine columns wide).  If you upgrade this project to become project 4, you might use a GUI approach to data entry.

Problem output: Similarly, you may design how the results are reported.  We should at a minimum see the final arrangement of rectangles being displayed.  If you upgrade this project to become project 4, you might use animation and a figure to show the rectangles.  Again, discuss your choices in the report.

Problem options: You are welcome to propose variations, such as implementing smarter algorithms for rectangle placement, allowing more complicated shapes, etc.  Yes, discuss your choices in the report.

Collaboration: Work together as a team on any or all aspects of the research and design.  Ideally take advantage of the talents of each member of the team.  Use your teams to finalize each of the multiple design options.  It is essential to keep track of who did what and where any useful information was found.  You need to keep track when you help someone and when you receive help from someone.  This includes students from other teams and those outside the class, TAs and me (the instructor). Keeping a log is highly recommended.

Homework Help/Study Tips, Others

  • Category:- Homework Help/Study Tips
  • Reference No.:- M92380215

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