Remix a Starter Project

PR0 Challenge 4.3 [100pts]

Scratch starter projects.

In the Scratch Tutorial challenge you learned the basics of sprites, backdrops and blocks for action and motion.

In the Holiday Card challenge, you learned more about how to manipulate and trigger the animation using keys and inputs, spicing things up with the MaKey MaKey board.

In this challenge you’re going to dive deeper into the logic of Scratch and code more complex interactions between sprites, consider basic math concepts like angles, and create interactive backdrops.

STEP 1: Review Scratch Starter Projects

Visit the Scratch Starter Projects page. You will be working with the Pong Starter and Maze Starter games in this challenge, but you can always explore more on your own! There are some really cool projects in there!

Make sure to login to the Scratch site. You can use a personal login, or our shared STEM Scholar account. Do this before remixing the projects below.

STEP 2: Don't Forget to Logic

The key to completing the steps below is to ask HOW QUESTIONS. You'll see that some how questions are provided in each step for you. Answering how something works will help you change an existing behavior or add a new one.

Each time you ask a how question write out the steps of your answer. For example, let's consider how a MaKey MaKey works:

How does a MaKey MaKey know that you've touched a button?

  1. The MaKey MaKey responds to electrical currents;
  2. There are conductive areas on a MaKey MaKey board that are electrically charged and others that are "ground";
  3. If you are touching a charged area (i.e. a button) and you are also touching a grounded area, you close a circuit with your conductive body, which is made mostly of water;
  4. The closed circuit sends an electrical current through the MaKey MaKey board, activating it.

Now that I know "how", I can use this knowledge to build an interactive holiday card or a controller.

PRO TIP: Make sure to ask questions that reveal how something works and write down a step-by-step explanation before making changes to the code.

STEP 3: Remix the Maze Starter

A maze might seem like a simple game, but looks can be deceiving! The goal of this game is to move a ball (sprite) through a maze (backdrop) of blue walls (obstacles). When your ball hits a wall, it bounces back.

The Scratch code uses the color of regions in the backdrop to determine when the sprite is touching the wall, or the goal. How does it "bounce" the ball back? Can you use this event to keep score?

To Complete this Challenge Step

  • [10pts] – Edit the backdrop to add additional obstacles, markers, or make the course more difficult to navigate;
  • [15pts] – Keep score using a variable: subtract points for hitting the walls or add points for passing markers;
  • [25pts] – Create new backdrops and add a script to change them so that there are additional levels when someone wins;

   Launch & Remix the Maze Starter   

STEP 4: Remix the Pong Starter

Pong! It's a classic. It's also using more or less the same logic as the Maze to bounce the ball. This time, there are two sprites, the paddle and the ball. One is being moved by the mouse and the other moves on it's own.

This time the code keeps track of when the two sprites touch as well as when the ball interacts with a color in the backdrop. How does this code keep the ball moving? How does it determine the bounce?

To Complete this Challenge Step

  • [10pts] – Add another ball mid game using the duplicate tool;
  • [15pts] – Use a variable to keep track of and display a score every time the ball touches the paddle;
  • [25pts] – Use a variable to change the step value of the ball to increase it's speed each time it hits the paddle.

   Launch & Remix the Pong Starter   

STEP 5: Share Your Work

Make sure you update your Project Portfolio with your remixes. Can you figure out how to embed a Scratch project into a web page using html?

Once you've finished your code and switched to the project page, look for the Embed button below your project screen.

The code you are looking for should look something like this:

<iframe allowtransparency="true" width="485" height="402" src="//" frameborder="0" allowfullscreen> </iframe>