How To Make A Snake Game In Scratch: Complete Beginner's Coding Tutorial (2025)
Want to learn game development but don't know where to start? Building a Snake game in Scratch is the perfect first project. It teaches fundamental programming concepts—loops, variables, conditionals, collision detection—while creating something genuinely fun you can share with friends.
Since Scratch launched in 2007, over 100 million students worldwide have learned to code through this free visual programming platform. Snake game projects consistently rank among the most popular, with good reason: they're challenging enough to teach real skills but simple enough for complete beginners to complete in a single afternoon.
This comprehensive tutorial will guide you from absolute zero to a fully functional Snake game, step by step. No prior coding experience required. We'll cover everything: creating sprites, programming movement, detecting collisions, implementing scoring, adding sound effects, and even advanced features like power-ups and obstacles. By the end, you'll have both a playable game and fundamental programming skills that transfer to any language.
Want to see what you're building toward? Play the finished Snake Game to understand the mechanics before you start coding!
Why Learn Game Development Through Snake?
Educational Benefits
Perfect First Project Because:
✅ Teaches Core Programming:
- Variables and data types
- Conditional logic (if/then)
- Loops and iteration
- Event handling
- Collision detection
- Game state management
✅ Manageable Scope:
- Completable in 2-4 hours
- Clear success criteria
- Incremental progress
- Immediate visual feedback
- Satisfying completion
✅ Real Skills:
- Transferable concepts
- Professional game mechanics
- Problem-solving practice
- Debugging experience
- Creative expression
✅ Portfolio Value:
- Shareable project
- GitHub-worthy code
- Resume material
- Skill demonstration
- Interview talking point
Why Scratch Specifically?
Advantages Over Text-Based Coding:
Visual Programming:
- Drag-and-drop blocks
- No syntax errors
- Color-coded categories
- Instant visualization
- Lower barrier to entry
Immediate Results:
- Live preview mode
- Instant testing
- Visual debugging
- Quick iterations
- Gratifying feedback
Educational Design:
- Built for learning
- Age-appropriate
- Supportive community
- Extensive tutorials
- Free forever
Professional Foundation:
- Teaches real concepts
- Industry-standard logic
- Scalable complexity
- Portfolio-ready projects
Part 1: Getting Started with Scratch
Setting Up Your Workspace
Step 1: Create Scratch Account
- Visit: scratch.mit.edu
- Click: "Join Scratch" (top-right)
- Enter: Username and password
- Verify: Email address
- Complete: Basic profile (optional)
Benefits of Account:
- Save projects automatically
- Share with community
- Access from anywhere
- Track progress
- Get feedback
Step 2: Understanding the Scratch Interface
Main Areas:
┌─────────────────────────────────────────┐
│ Menu Bar (File, Edit, Tutorials) │
├──────────┬──────────────────────────────┤
│ │ │
│ Block │ Stage │
│ Palette │ (Game Preview) │
│ │ │
│ │ │
├──────────┼──────────────────────────────┤
│ │ │
│ Code │ Sprite Panel │
│ Area │ (Assets) │
│ │ │
└──────────┴──────────────────────────────┘Block Palette (Left):
- Motion (blue): Movement commands
- Looks (purple): Appearance changes
- Sound (pink): Audio playback
- Events (yellow): Triggers/listeners
- Control (orange): Logic flow
- Sensing (light blue): Detection
- Operators (green): Math/logic
- Variables (orange): Data storage
- My Blocks (red): Custom functions
Stage (Top Center):
- 480 x 360 pixels
- Coordinate system: (-240,-180) to (240,180)
- Center point: (0,0)
- Preview your game here
Sprite Panel (Bottom Right):
- Manage game objects
- Add/delete sprites
- Upload images
- Paint editor access
Code Area (Center):
- Drag blocks here
- Build scripts
- Connect logic
- Create programs
Understanding Scratch Coordinates
The Grid System:
y
↑
180 │
│
│
-240 ──────── 240 → x
│
│
-180 │Key Positions:
- Center: (0, 0)
- Top-left: (-240, 180)
- Top-right: (240, 180)
- Bottom-left: (-240, -180)
- Bottom-right: (240, -180)
Why This Matters:
- Snake movement uses coordinates
- Boundary detection needs limits
- Food spawning uses random positions
- Understanding this is crucial
Part 2: Creating Your Snake Sprite
Design Your Snake Head
Method 1: Use Built-In Sprite
Steps:
- Click sprite icon (bottom-right)
- Select "Choose a Sprite"
- Search "snake" or "worm"
- Pick your favorite
- Resize if needed (costume editor)
Method 2: Draw Custom Sprite
Steps:
- Click "Paint" sprite icon
- Select drawing tool
- Create simple square (easier for beginners)
- Color: Green (
#00FF00) - Size: 20x20 pixels
- Name: "SnakeHead"
Recommended Beginner Design:
Simple Square Snake:
┌────┐
│ │ (Solid color square)
│ │ Size: 20x20 pixels
└────┘ Color: Bright greenWhy Square?
- Easier collision detection
- Clearer movement
- Grid-aligned
- Professional appearance
- Simpler code
Creating Snake Body Segments
Clone-Based Approach:
We'll use Scratch's "clone" feature to create body segments that follow the head.
Body Sprite Design:
- Duplicate snake head sprite
- Name: "SnakeBody"
- Make slightly darker green
- Same size as head
- Will be controlled by code
Alternative Method:
- Use single sprite with costume changes
- More complex but possible
- Recommended for advanced users
Part 3: Programming Basic Movement
Setting Up Variables
Required Variables:
Step-by-Step Creation:
- Click "Variables" category
- Click "Make a Variable"
- Create these variables:
Variable Name: direction
Purpose: Track current direction
Type: For this sprite only
Variable Name: score
Purpose: Track points
Type: For all sprites
Variable Name: gameOver
Purpose: Track game state
Type: For all sprites
Variable Name: speed
Purpose: Snake movement speed
Type: For all spritesInitial Values:
direction = "right"
score = 0
gameOver = 0
speed = 0.2Programming Arrow Key Controls
Complete Movement Code:
Event Block:
[When ⚑ clicked]
Setup Block:
[set direction to "right"]
[set score to 0]
[set gameOver to 0]
[go to x: 0 y: 0]
Main Loop:
[forever]
[if <(gameOver) = [0]> then]
// Movement based on direction
[if <(direction) = [right]> then]
[change x by (20)]
[end]
[if <(direction) = [left]> then]
[change x by (-20)]
[end]
[if <(direction) = [up]> then]
[change y by (20)]
[end]
[if <(direction) = [down]> then]
[change y by (-20)]
[end]
[wait (speed) seconds]
[end]
[end]Direction Control Code:
Event Block:
[when [up arrow ▼] key pressed]
[if <not <(direction) = [down]>> then]
[set direction to "up"]
[end]
Event Block:
[when [down arrow ▼] key pressed]
[if <not <(direction) = [up]>> then]
[set direction to "down"]
[end]
Event Block:
[when [right arrow ▼] key pressed]
[if <not <(direction) = [left]>> then]
[set direction to "right"]
[end]
Event Block:
[when [left arrow ▼] key pressed]
[if <not <(direction) = [right]>> then]
[set direction to "left"]
[end]Why Prevent Reverse?
- Can't go directly opposite
- Prevents instant death
- Matches classic Snake rules
- Better game feel
Test Your Movement:
- Click green flag
- Press arrow keys
- Snake should move smoothly
- Can't reverse into itself
Part 4: Creating the Food System
Designing the Apple Sprite
Create Apple:
Method 1: Built-In:
- Add new sprite
- Search "apple"
- Select red apple
- Resize to 20x20 pixels
Method 2: Draw Custom:
- Paint new sprite
- Draw red circle
- Add brown stem
- Size: 20x20 pixels
- Name: "Apple"
Simple Pixel Apple:
██ (Stem: brown)
████████ (Apple: red circle)
████████ Size: 20x20 pixels
████Programming Random Food Spawning
Apple Code:
Event Block:
[When ⚑ clicked]
Initialize:
[hide]
[set x to (pick random (-220) to (220))]
[set y to (pick random (-160) to (160))]
[show]
Detection Loop:
[forever]
[if <touching [SnakeHead ▼]?> then]
// Increase score
[change score by (1)]
// Play sound
[play sound [chomp ▼] until done]
// Move to new random position
[set x to (pick random (-220) to (220))]
[set y to (pick random (-160) to (160))]
// Broadcast event for body growth
[broadcast [apple eaten ▼]]
[end]
[end]Grid-Aligned Positioning (Advanced):
For pixel-perfect grid alignment:
[set x to ((pick random (-11) to (11)) * (20))]
[set y to ((pick random (-8) to (8)) * (20))]
This ensures apple spawns on 20-pixel grid
Matches snake's grid-based movement
Looks more professionalTest Food System:
- Run game
- Move snake to apple
- Apple should relocate
- Score should increase
- Sound should play
Part 5: Implementing Collision Detection
Wall Collision
Add to Snake Head Code:
Inside main movement loop:
[forever]
[if <(gameOver) = [0]> then]
// Move snake (existing code)
[if <(direction) = [right]> then]
[change x by (20)]
[end]
// ... other directions ...
// NEW: Check wall collision
[if <(x position) > [240]> then]
[set gameOver to 1]
[broadcast [game over ▼]]
[end]
[if <(x position) < [-240]> then]
[set gameOver to 1]
[broadcast [game over ▼]]
[end]
[if <(y position) > [180]> then]
[set gameOver to 1]
[broadcast [game over ▼]]
[end]
[if <(y position) < [-180]> then]
[set gameOver to 1]
[broadcast [game over ▼]]
[end]
[wait (speed) seconds]
[end]
[end]Self-Collision (Advanced)
Later Addition:
Once we add body segments, we'll check:
[if <touching [SnakeBody ▼]?> then]
[set gameOver to 1]
[broadcast [game over ▼]]
[end]Game Over Screen
Create Text Sprite:
- Paint new sprite
- Write "GAME OVER!"
- Center text
- Large, bold font
- Name: "GameOverText"
Game Over Text Code:
Event Block:
[When ⚑ clicked]
[hide]
Event Block:
[when I receive [game over ▼]]
[show]
[say [Press SPACE to restart] for (2) seconds]Restart Functionality:
Add to any sprite:
Event Block:
[when [space ▼] key pressed]
[if <(gameOver) = [1]> then]
[broadcast [restart game ▼]]
[end]
Then add to each sprite:
[when I receive [restart game ▼]]
[set gameOver to 0]
[set score to 0]
// Reset positions
// Hide body clones
// Restart gamePart 6: Adding Snake Body Growth
Understanding Clone System
How Clones Work:
- Original sprite creates copies
- Each copy runs its own code
- Clones follow parent sprite
- Can be individually controlled
Body Growth Strategy:
1. Snake eats apple
2. Broadcast "apple eaten"
3. Body sprite creates clone
4. Clone positions at snake head
5. Clone follows movement patternComplete Body Code
SnakeBody Sprite Code:
Variables Needed:
[bodyX] - List (for all sprites)
[bodyY] - List (for all sprites)
Event Block:
[When ⚑ clicked]
[hide]
[delete all of [bodyX ▼]]
[delete all of [bodyY ▼]]
Event Block:
[when I receive [apple eaten ▼]]
[create clone of [myself ▼]]
Event Block:
[when I start as a clone]
[show]
[forever]
[if <(length of [bodyX ▼]) > [0]> then]
[go to x: (item (1) of [bodyX ▼]) y: (item (1) of [bodyY ▼])]
[delete (1) of [bodyX ▼]]
[delete (1) of [bodyY ▼]]
[end]
[end]SnakeHead Addition:
Inside main movement loop (AFTER movement):
[add (x position) to [bodyX ▼]]
[add (y position) to [bodyY ▼]]
// Keep list size manageable
[if <(length of [bodyX ▼]) > (score)> then]
[delete (1) of [bodyX ▼]]
[delete (1) of [bodyY ▼]]
[end]Simplified Beginner Version:
If the above seems complex, use this simpler approach:
Each time apple eaten:
1. Create numbered variable (segment1, segment2...)
2. Position at previous head location
3. Move with delay
4. Less efficient but easier to understandPart 7: Polish and Enhancement
Adding Sound Effects
Required Sounds:
1. Eating Sound:
Asset: "chomp" or "munch"
Trigger: When touching apple
Already added in apple code2. Game Over Sound:
Add to game over broadcast:
[play sound [game over ▼] until done]3. Background Music (Optional):
Add to main sprite:
[forever]
[play sound [music loop ▼] until done]
[end]Recording Custom Sounds:
- Click "Sounds" tab
- Click microphone icon
- Record your sound
- Trim and adjust
- Name appropriately
Visual Improvements
Background:
Method 1: Solid Color
Click stage (bottom-right)
Select "Backdrops" tab
Fill with color (dark blue/green)Method 2: Custom Design
Paint backdrop
Add grid lines
Create borders
Add decorations
Theme appropriateSnake Animation:
Add Costumes:
Costume 1: Mouth closed
Costume 2: Mouth open
Then add to movement:
[next costume]
(Creates eating animation)Score Display:
On Stage:
[when ⚑ clicked]
[set size to (200) %]
[go to x: (-200) y: (150)]
[forever]
[say (join [Score: ] (score))]
[end]Difficulty Progression
Speed Increase:
Modify apple eating code:
[when I receive [apple eaten ▼]]
[create clone of [myself ▼]]
// Add speed increase
[if <(speed) > [0.05]> then]
[change speed by (-0.01)]
[end]Alternative: Score-Based Speed
[if <(score) > [10]> then]
[set speed to (0.15)]
[end]
[if <(score) > [25]> then]
[set speed to (0.10)]
[end]Part 8: Advanced Features
Adding Power-Ups
Speed Boost Power-Up:
Create Sprite:
- Name: "SpeedBoost"
- Design: Lightning bolt icon
- Color: Yellow/gold
- Size: 20x20 pixels
Code:
[When ⚑ clicked]
[hide]
[forever]
[wait (pick random (10) to (30)) seconds]
[go to x: (pick random (-220) to (220)) y: (pick random (-160) to (160))]
[show]
[wait (5) seconds]
[hide]
[end]
[forever]
[if <touching [SnakeHead ▼]?> then]
[broadcast [speed boost ▼]]
[hide]
[end]
[end]Speed Boost Effect:
Add to SnakeHead:
[when I receive [speed boost ▼]]
[set speed to (speed) / (2)]
[wait (10) seconds]
[set speed to (speed) * (2)]Obstacle System
Create Obstacles:
Sprite Setup:
- Name: "Wall"
- Design: Brick pattern
- Color: Gray/brown
- Size: 40x40 pixels
Placement Code:
[When ⚑ clicked]
[create clone of [myself ▼]]
[create clone of [myself ▼]]
[create clone of [myself ▼]]
[when I start as a clone]
[go to x: (pick random (-200) to (200)) y: (pick random (-140) to (140))]
[show]
[forever]
[if <touching [SnakeHead ▼]?> then]
[broadcast [game over ▼]]
[end]
[end]Multiplayer Mode
Two-Player Controls:
Player 1 (WASD):
[when [w ▼] key pressed]
[set direction to "up"]
[when [s ▼] key pressed]
[set direction to "down"]
[when [a ▼] key pressed]
[set direction to "left"]
[when [d ▼] key pressed]
[set direction to "right"]Player 2 (Arrow Keys):
(Use original arrow key code)Separate Snakes:
- Create "Snake1" and "Snake2" sprites
- Different colors
- Separate score variables
- Compete for apples
- Collision between players = both die
Part 9: Testing and Debugging
Common Problems and Solutions
Problem 1: Snake Moves Too Fast
Solution: Increase speed variable
[set speed to (0.3)]
Larger number = slower movementProblem 2: Apple Spawns On Snake
Solution: Add collision check
[repeat until <not <touching [SnakeHead ▼]?>>]
[set x to (pick random (-220) to (220))]
[set y to (pick random (-160) to (160))]
[end]Problem 3: Body Doesn't Follow
Solution: Check list variables
- Ensure bodyX and bodyY lists exist
- Verify "for all sprites" setting
- Check clone creation broadcastProblem 4: Snake Goes Through Walls
Solution: Verify boundary checks
- Check X boundaries: ±240
- Check Y boundaries: ±180
- Ensure checks happen AFTER movementProblem 5: Can Reverse Into Self
Solution: Add direction prevention
[if <not <(direction) = [opposite]>> then]
Only allow perpendicular turnsDebugging Techniques
Scratch Debugging Tools:
1. Say Blocks:
[say (join [X: ] (x position))]
Shows current values
Helps track variables
Real-time debugging2. Slow Motion:
Edit → Slow Motion Mode
Watch code execute
Spot timing issues3. Single Stepping:
Click individual blocks
Test piece by piece
Isolate problems4. Variable Watchers:
Check variable boxes
Display on stage
Monitor changes
Track statePlaytest Checklist
Before Sharing:
✅ Game starts properly
✅ Controls respond correctly
✅ Snake can't reverse
✅ Walls cause game over
✅ Apples spawn randomly
✅ Score increases correctly
✅ Body follows head
✅ Speed feels good
✅ Game over works
✅ Restart functions
✅ Sounds play correctly
✅ No visual glitches
Part 10: Sharing and Next Steps
Publishing Your Game
Prepare for Sharing:
1. Project Title:
Good: "My Awesome Snake Game v1.0"
Bad: "Untitled-1"2. Instructions:
Write clear instructions:
- How to play
- Controls explanation
- Goal description
- Credits/attribution3. Notes and Credits:
Add in project description:
- Tutorial source credit
- Music/sound sources
- Special features
- Version numberSharing Steps:
- Click "Share" button (top-right)
- Add thumbnail (custom image)
- Write description
- Add to studio (optional)
- Copy link
- Share with friends!
Promotion Tips:
- Post on Scratch forums
- Share on social media
- Ask for feedback
- Join Scratch studios
- Remix popular projects
- Engage with community
Advanced Remix Ideas
10 Ways to Extend Your Game:
1. Themed Variations:
- Space Snake (stars as food)
- Ocean Snake (fish collectibles)
- Candy Snake (sweets theme)
- Robot Snake (tech aesthetic)
2. Special Modes:
- Time Attack (60-second challenge)
- Endless Mode (no walls)
- Puzzle Mode (preset patterns)
- Boss Battle (defeat enemies)
3. Progression Systems:
- Unlock new skins
- Achievement badges
- Level progression
- Difficulty selection
4. Visual Enhancements:
- Particle effects
- Trail animations
- Screen shake effects
- Color-changing snake
5. Gameplay Twists:
- Portal mechanics
- Teleportation
- Shrinking power-ups
- Slow-motion zones
6. Multiplayer Features:
- Competitive mode
- Cooperative challenges
- Team-based scoring
- Tournament brackets
7. Educational Elements:
- Math problems for points
- Spelling challenges
- Geography questions
- Science trivia
8. Story Mode:
- Narrative cutscenes
- Character dialogue
- Progressive difficulty
- Boss battles
9. Social Features:
- High score table
- Player profiles
- Friend challenges
- Global leaderboards
10. Technical Challenges:
- Mobile controls
- Touch support
- Cloud variables
- Complex AI
Learning Path Forward
Next Project Ideas:
Similar Difficulty:
- Pong Clone
- Flappy Bird
- Breakout/Arkanoid
- Pac-Man Basics
Slightly Harder:
- Space Invaders
- Asteroids
- Simple Platformer
- Maze Game
Advanced Projects:
- RPG Battle System
- Tower Defense
- Physics Simulation
- Multiplayer Games
Skills to Learn:
Programming Concepts:
- Object-oriented thinking
- State machines
- Pathfinding algorithms
- Procedural generation
Game Design:
- Balance and difficulty
- Player feedback systems
- Progression mechanics
- UI/UX principles
Beyond Scratch:
- Python (pygame)
- JavaScript (Phaser.js)
- Unity (C#)
- Godot (GDScript)
Want to see professional Snake implementations? Study advanced techniques at Snake Game Google to understand what's possible!
Complete Code Summary
Full SnakeHead Code
VARIABLES:
- direction (for this sprite)
- score (for all sprites)
- gameOver (for all sprites)
- speed (for all sprites)
- bodyX (list, for all sprites)
- bodyY (list, for all sprites)
WHEN FLAG CLICKED:
set direction to "right"
set score to 0
set gameOver to 0
set speed to 0.2
go to x: 0 y: 0
delete all of bodyX
delete all of bodyY
forever
if gameOver = 0 then
// Movement
if direction = "right" then
change x by 20
end
if direction = "left" then
change x by -20
end
if direction = "up" then
change y by 20
end
if direction = "down" then
change y by -20
end
// Store position for body
add x position to bodyX
add y position to bodyY
// Wall collision
if x position > 240 or x position < -240 then
set gameOver to 1
broadcast game over
end
if y position > 180 or y position < -180 then
set gameOver to 1
broadcast game over
end
// Body collision
if touching SnakeBody then
set gameOver to 1
broadcast game over
end
wait speed seconds
end
end
WHEN UP ARROW PRESSED:
if not direction = "down" then
set direction to "up"
end
WHEN DOWN ARROW PRESSED:
if not direction = "up" then
set direction to "down"
end
WHEN RIGHT ARROW PRESSED:
if not direction = "left" then
set direction to "right"
end
WHEN LEFT ARROW PRESSED:
if not direction = "right" then
set direction to "left"
endFull Apple Code
WHEN FLAG CLICKED:
hide
go to random position
show
forever
if touching SnakeHead then
change score by 1
play sound chomp
go to random position
broadcast apple eaten
end
endFull SnakeBody Code
WHEN FLAG CLICKED:
hide
delete all of bodyX
delete all of bodyY
WHEN I RECEIVE apple eaten:
create clone of myself
WHEN I START AS A CLONE:
show
forever
if length of bodyX > 0 then
go to x: item 1 of bodyX, y: item 1 of bodyY
delete 1 of bodyX
delete 1 of bodyY
end
endConclusion: Your Game Development Journey Begins
Congratulations! You've just learned the fundamentals of game development by creating a complete Snake game in Scratch. What started as an empty project is now a fully playable game with movement, collision detection, scoring, growth mechanics, and polish.
What You've Accomplished
Programming Skills Learned:
✓ Variables and data types
✓ Conditional logic (if/then/else)
✓ Loops and iteration
✓ Event-driven programming
✓ Collision detection
✓ Lists and arrays
✓ Clone systems
✓ Debugging techniques
Game Development Concepts:
✓ Player input handling
✓ Game state management
✓ Difficulty progression
✓ Scoring systems
✓ Win/loss conditions
✓ Visual feedback
✓ Sound design
✓ User experience
Creative Skills:
✓ Sprite design
✓ Animation basics
✓ Sound selection
✓ Visual composition
✓ Problem-solving
✓ Project completion
✓ Portfolio building
Your Next Steps
This Week:
- Add one remix feature
- Share with 5 friends
- Get feedback
- Make improvements
- Compare with professional version
This Month:
- Create 2 more games
- Join Scratch community
- Help other learners
- Start more complex project
- Document your progress
This Year:
- Master Scratch completely
- Learn text-based language
- Build portfolio of 10+ games
- Consider game development career
- Share knowledge with others
The Bigger Picture
Every professional game developer started exactly where you are now—with a simple project, learning fundamentals, making mistakes, and gradually improving. The skills you've learned creating this Snake game apply to every game engine and programming language.
Famous Games That Started Small:
- Minecraft: Solo project by Markus Persson
- Stardew Valley: Created by one person
- Undertale: Made in GameMaker
- Among Us: Small indie team
Your Snake game is the first step on a journey that could lead anywhere. Keep creating, keep learning, and never stop building.
Ready to see what's possible?
Visit Snake Game Google to:
✓ Study advanced Snake mechanics from the pros
✓ Compare your implementation with professionals
✓ Get inspired for your next features
✓ Join the community of Snake game creators
✓ Share your creation with other developers
✓ Access resources for continuous learning
✓ Find mentorship from experienced coders
The code you wrote today is the foundation for tomorrow's amazing projects. Keep building, keep learning, and remember: every expert was once a beginner who refused to quit.
Your game development journey starts now. Go create something amazing! 🎮
Frequently Asked Questions
Q: How long does it take to make a Snake game in Scratch?
A: Beginners typically complete a basic version in 2-4 hours. With polish and advanced features, expect 6-10 hours. Practice improves speed significantly.
Q: Do I need coding experience to follow this tutorial?
A: No! This tutorial assumes zero prior programming knowledge. If you can drag and drop, you can follow along. Start at the beginning and take your time.
Q: Can I use my Snake game in my portfolio?
A: Absolutely! Scratch projects are perfect for student portfolios, coding bootcamp applications, and demonstrating problem-solving skills to potential employers or schools.
Q: Why does my snake move too fast/slow?
A: Adjust the "speed" variable. Higher numbers = slower movement. Start with 0.2 seconds and adjust by 0.05 increments until it feels right.
Q: How do I make the body follow the head?
A: Use the list-based system from Part 6. Store head positions in bodyX/bodyY lists, then have body clones follow those recorded positions.
Q: Can I sell my Scratch game?
A: Scratch has a Creative Commons license requiring free sharing. However, you can recreate your game in other engines (Unity, Godot) for commercial use.
Q: What should I build after Snake?
A: Try Pong, Flappy Bird, or Breakout—all teach different concepts. Then explore platformers, puzzle games, or whatever interests you most!
Q: How do I add my Scratch game to a website?
A: Use Scratch's embed code: Project page → "Embed" option → Copy HTML → Paste in your website. Works on most platforms.
