The first thing you need to select a sprite. It's best to keep it simple and small like a dot or square. You'll also need to be sure to add the pen extension.
Once those pieces are set, create three separate variables called 'x', 'y', and 'stage'. Use an event block and set x to -192, y to 0, and stage to 1. This will place the sprite on the far left of the screen. The stage count will be used as we iterate over the pattern. You may need to adjust the size of the sprite using the 'set size to __' block. It's good practice to erase all at the start. Place all these blocks under a 'when flag clicked' block.
Next, create a new function called 'Build Stack'. This function will be used to build a stack of sprites based on the stage count. Use the repeat with a nested 'stage' variable block. Inside the repeat loop, use the 'glide ___ secs to x___y:___' block and assign the x and y values to the variables you created. Following this block, assign the stamp. Change the y value by 32 to move up.
Now you need to call the 'Build Stack' function. To do this, add a repeat loop block the 'when flag clicked' block. We want to set y to zero each time to start from the same place. We also want to change the stage count by 1 for every loop to make our pattern grow. Lastly, we want to change our x value by 32 to keep our pattern moving to the right at every stage.
Now that you know how to create a program with a growing pattern moving in the upward direction, try to code a program with a pattern growing in the opposite direction (see program to the left). To do this you'll need to create new new variables for x, y, and stage, and a new stack function.
Finally, combine your two programs and add two more building the pattern back down to complete the final pattern.
You can use this forced copy handout as a paper copy/google doc version of the slideshow above.
Adapted From Jim Cash’s Growing Patterns Translations Challenge