Level 2: Next Customer Please
| Course: Scratch Programming | Level: Level 2 | Project 10 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 "Next Customer Please" on Raspberry Pi Projects →](https://projects.raspberrypi.org/en/projects/next-customer-please)
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
Simulate a queue system using variables, broadcasting and interaction.
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 2
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
- Create a shop or bank counter backdrop.
- Add a counter sprite and a queue of customer sprites.
- Create a
queue_numbervariable starting at 1. - Create a
currentvariable for the customer being served. - Each customer sprite listens:
when I receive [serve]— ifqueue_number = my_numberthen come forward. - When the cashier sprite is clicked:
broadcast [serve],change [current] by [1]. - Animate the current customer walking to the counter with
glide. - After being served (wait 2 secs), send them away with another glide.
- Add a
say [Now serving number (current)]display. - Add a count of customers remaining in the queue.
Extension Challenges
Try these after completing the main project:
- Add different service times using random waits.
- Add a priority queue for urgent customers.
- Add a satisfaction variable that decreases if customers wait too long.
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 11 → |