15-110 Fall 2010 Homework 8

Due Monday, November 1, at 10pm (no late submissions accepted!)

Note: to do this homework, you should download Homework8.zip, then unzip it, edit the files, rezip, and submit that zipped file to Autolab.

Read these instructions first!

Note:  This is a collaborative programming assignment!  Here are the guidelines:

  1. You may work with 0, 1, or 2 other students (all currently enrolled in this course).

  2. Whether or not you work with another student, you should still submit your own solution (which may be identical in part or in whole to the solutions from the students with whom you collaborated).

  3. Very clearly list in a comment at the top of your tetris.py file everyone else you worked with, if even just for a short while.  You may list up to 2 other students this way.

  4. If you list someone in your tetris.py file, they must list you in their tetris.py file, too!  (Collaboration is a two-way street!)

  5. You may not collaborate with any other students besides those listed at the top of your tetris.py file.

  6. Do not divide the work among your team ("you do parts 1-2, I'll do parts 3-4, etc...").  That is not the point of collaborative programming!  Instead, the point is for you to work together on the entire assignment, helping each other with each step.  Also, the steps are not designed to be independent, so step 5 may not make any sense if you have not completed steps 1-4.

  7. And:  while we encourage you to join a team, it is not required.  You may do this assignment entirely on your own.

·         Do not change any file names!  Each problem that includes a changed file name will be docked a 50% penalty.

·         Include your name, AndrewID, and section clearly on the top of each file in your assignment.

·         Place all your solutions in a single file ZIP file (extension.zip). Once again, start with Homework8.zip. No other file formats will be accepted. You need to start by downloading a ZIP file that contains a template (a file ending in .py) for each problem in this homework.

·         Show your work. Correct answers without supporting calculations will not receive full credit.

·         How to submit:

Your submission is not completed until you see that text!!!

Once again: Late submissions will be rejected.

Log

We want to gauge how much time you are spending in each homework and how you are using your resources. This week we are going to record your answers using an online survey.  An email with the details will be sent to you.


Problem 1:  Tetris  (100 points)


In the file tetris.py, write Tetris exactly according to the design given in this step-by-step tutorial.  You may not use a different design, even if you think there's a better way to do it (there probably is, but you still have to do it this way).


Problem 2: Bonus/Optional:  Tetris Bonus  (5 to 10 points)


For bonus, you may do some of the additional suggestions on the last page of the tutorial.  Submit your bonus in the file bonus-tetris.py, and list all your bonus-worthy changes in a comment at the head of the file.