Level 1: Catch the Bus
| Course: Scratch Programming | Level: Level 1 | Project 02 of 35 |
Official Raspberry Pi Project
This lesson is based on the official Raspberry Pi Foundation project. Open it alongside this guide to access the starter project, step-by-step instructions and community remixes.
### [🍓 Open "Catch the Bus" on Raspberry Pi Projects →](https://projects.raspberrypi.org/en/projects/catch-the-bus)
How to use it: Click the link above, then click See Inside on the Scratch project to explore the finished version. Use Remix to get your own copy to edit.
What You Will Build
Animate characters running to catch a moving bus before it leaves.
What You Will Learn
By the end of this project you will be able to:
- Use Events blocks to start scripts and respond to clicks
- Combine Motion, Looks and Sound blocks to create behaviours
- Use variables to track game state and scores
- Apply the specific Scratch concepts introduced in Level 1
You Will Need
| Item | Details |
|---|---|
| 🌐 Browser | Any modern browser — Chrome, Firefox or Edge |
| 🔶 Scratch account | Free at scratch.mit.edu |
| ⏱️ Time | Approximately 30–45 minutes |
| 📋 Starter project | Available via the Raspberry Pi link above |
Step-by-Step Guide
- Choose a city or road backdrop.
- Add a Bus sprite. Use
glide [ ] secs to x:[ ] y:[ ]to make it slide across the stage. - Set the bus to start from the right side (x:200) and glide to the left (x:-300) when the flag is clicked.
- Add a person sprite. Make it run using
move [10] stepsinside arepeat [20]loop. - Add a
play sound [running]or footstep effect. - Use a
wait untilblock and Sensing to detect if the person touches the bus. - If they catch it: play a cheer sound and show a
say [Made it!]message. - If time runs out: show a
say [Missed it!]message using await [3] secsbefore the bus exits. - Add a variable
timerand countdown using arepeat untilloop. - Test and adjust the running speed so the challenge feels fair.
Extension Challenges
Try these after completing the main project:
- Add a second person sprite that races the first.
- Use a variable to count how many buses the player has caught.
- Add multiple buses at different speeds for higher difficulty.
Reflection Questions
- Which Scratch blocks did you use most in this project?
- What would you add or change if you had more time?
- How could you reuse the ideas from this project in a different context?
Share Your Work
When your project is complete, click Share in Scratch and post the link to your class or the Techbase community.
| ← Back to Scratch Course | Next: Lesson 03 → |