Practice 3.1: FlagMake a program that displays the American flag (without using images)

REQUIREMENTS

• Your program must use loops and modulus to display the American flag

• It must have 13 stripes that alternate between red and white

• It must have 50 stars divided into staggered 9 rows of 5 and 6.

STEP BY STEP

Part A - Stripes

• Create the setup method

• Set the window size to 1300 x 650

• Set the background to white

• Turn off stoke

• Use a for loop to draw 7 red rectangles

• Hint: Use the loop variable and multiplication for the y coordinate of each rectangle.

• Hint #2: Make the rectangles be positioned 100 apart, but only 50 tall.

Your program should show horizontal red and white stripes.

Part B - One Row of Stars

• Draw the flag’s deep blue field in the upper left corner

• Suggested size: 500 x 350

• Write a method called void rowSix(int yPos) that draws a row of six stars at a specified yPosition

• You’ll need to experiment to find out how to space the stars horizontally

• Call rowSix() to draw a single row of stars

• Suggested value: Call rowSix with 35 as a parameter

A flag with a single row of stars

Part C - Grid of Stars

• Write a method called void rowFive(int yPos) that draws a row of five stars at a specified yPosition

• Call rowFive to draw a single row of stars

• Suggested value: Call rowSix with 70 as a parameter

• Call the methods rowSix() and rowFive() repeatedly at different y values until you’ve drawn all the stars

• Hint: You’ll call rowSix 5 times and rowFive 4 times. Keep spacing them 35 apart.

Part D - Cleaning Up The Code

• The above code works, but it’s kind of messy. Let’s clean it up by using another loop and modulus.

• Write a for loop that executes 9 times - one for each row of stars.

• For this part, you’ll want to start at i = 1, instead of 0.

• If your loop variable(i) is even

• Call rowFive(i * 35)

• Else

• Call rowSix(i * 35)

• Hint: You can check if a number is even or odd using modulus.

Your output will still look the same, but the code should be much shorter.