The main objective of this assignment is to gain some practice with user defined methods for breaking a problem into smaller pieces and organizing your program.
In addition you will gain further practice with variables (local and global), expressions, and conditional statements. This is also your first assignment where you must write a program to complete a specific task.
You are to write a program that generates random quilts. The only real requirement is that your program create the images of the quilts by using layers of functions. There should be a parameterized drawPanel() method, a parameterized drawRow() method (for creating a whole row of panels), and a parameterized drawQuilt() method. Each of these methods must take in at least some x, y value indicating where the panel/row/quilt is to be located. The other parameters are up to you. You may have multiple variations of each of these methods for different types of panels, rows, and quilts, but whenever possible it would be preferable to use parameters to control the different variations. You may also want to have a fourth layer of various panel drawing methods that are called from your drawPanel() method (that is what I did in my solution). For example, you could pass a parameter to drawPanel() that controls the type of panel which then results in one of several panel drawing methods to get called. You might also want to specify for a quilt how many rows and columns of panels or the width and height in pixels. The number of variations is endless.
When the program starts it should display an quilt. Each time any key is pressed, a new quilt should be drawn.
Your program must meet the following criteria.
Repeated from the course info page:
The programs you submit this quarter should be original programs created just for this class. It is NOT acceptable to submit programs that you (or someone else) has written previously. As indicated above, if you incorporate any portions of programs written by someone else, or by you for a prior course or assignment, then that should be clearly noted in the program via comments. (See "Giving Credit Where Credit is Due".)
You will be submitting your program source file (.pde) in CrowdGrader.
The link for the assignment in CrowdGrader is here.
After the due date you will need to review 5 submissions.
As soon as you have met with your partner to confirm you can work together you should follow the assignment link above and enter the email address for your partner in the group field.
When you and your partner have completed your sketch (program):
See the grading rubric in CrowdGrader.
Although not part of the student review grading process in CrowdGrader, you will lose one point if you fail to submit a program log in Canvas.