How to Use Variables in Scratch | Variable Blocks in Scratch | Complete Tutorial

Scratch Tutorial

Introduction to Variables in Scratch

Welcome to this comprehensive tutorial on how to use variables in Scratch! Variables are one of the most powerful tools in programming, and understanding them is key to creating dynamic and interactive projects. In this guide, we'll explore what variables are, how to create and use them, and even dive into lists (which are like arrays of variables). By the end, you'll have built a complete game example that demonstrates these concepts in action.

Whether you're a beginner just starting out or looking to expand your Scratch skills, this tutorial will walk you through everything you need to know about variables step by step.

What You Will Learn:

  • ✅ What variables are and why they're important
  • ✅ How to create and use variables in Scratch
  • ✅ Understanding lists and their operations
  • ✅ Building a complete game using variables
  • ✅ Advanced techniques like cloud variables
  • ✅ Tips for debugging and best practices

👉 Watch the Full YouTube Tutorial Here:

How to Use Variables in Scratch | Complete Tutorial | Kodex Academy

What are Variables in Scratch?

Variables are like containers that store information. Think of them as labeled boxes where you can put numbers, text, or other data. In Scratch, variables allow your programs to remember and manipulate values as the project runs.

For example, you might use a variable to:

  • Keep track of a player's score
  • Store the number of lives remaining
  • Remember a player's name
  • Control the speed of a moving object

Variables make your projects more flexible and interactive because they can change based on user input or game events.

How to Create Variables in Scratch

Creating variables in Scratch is straightforward. Here's how:

Step 1: Open the Variables Category

In the Blocks Palette, click on the "Variables" category (orange blocks).

Step 2: Make a Variable

Click the "Make a Variable" button. You'll see a dialog box where you can:

  • Name your variable (e.g., "score", "lives", "player_name")
  • Choose whether it's for all sprites or just this sprite
  • Optionally, check "Cloud variable" for online sharing
Make a Variable
Variable name: score
For all sprites
★ Cloud variable (store on server)

How to Use Variables in Scratch

Once you've created a variable, you can use various blocks to work with it:

Set Variable Block

set [score] to [0]

This initializes the variable to a starting value.

Change Variable Block

change [score] by [1]

This adds (or subtracts) a value from the current variable value.

Show/Hide Variable

show variable [score]
hide variable [score]

These control whether the variable appears on the stage.

Example: Simple Score Counter

when green flag clicked
set [score] to [0]
show variable [score]

when [space] key pressed
change [score] by [1]

Understanding Lists in Scratch

Lists are collections of items, like a shopping list or a high score table. In Scratch, lists can store multiple values and are incredibly useful for managing collections of data.

How to Create a List

Similar to variables, click "Make a List" in the Variables category. Give it a name and choose the scope.

List Operations

Common list blocks include:

  • Add to List: Adds an item to the end
  • Delete from List: Removes items by position
  • Insert at Position: Adds items at specific positions
  • Item of List: Retrieves items by position
  • Length of List: Gets the number of items
add [apple] to [fruits]

delete [1] of [fruits]

insert [banana] at [2] of [fruits]

say (item [1] of [fruits])

say (length of [fruits])

Full Game Example: Variable-Powered Quiz Game

Let's build a complete quiz game that uses variables and lists to manage questions, answers, and scoring.

Game Features:

  • Multiple choice questions stored in lists
  • Score tracking with variables
  • Timer functionality
  • Game over screen

Setup Your Sprites and Variables

Create the following variables:

  • score
  • question_number
  • time_left

Create these lists:

  • questions
  • answers
  • correct_answers

Main Game Loop

when green flag clicked
set [score] to [0]
set [question_number] to [1]
set [time_left] to [30]

add [What is 2+2?] to [questions]
add [4] to [correct_answers]
add [What color is the sky?] to [questions]
add [blue] to [correct_answers]

repeat until <(question_number) > (length of [questions])>
  say (item (question_number) of [questions]) for [2] secs
  ask [Your answer:] and wait
  if <(answer) = (item (question_number) of [correct_answers])> then
    change [score] by [1]
    say [Correct!] for [1] secs
  else
    say [Wrong!] for [1] secs
  end
  change [question_number] by [1]
end

say (join [Game Over! Score: ] (score)) for [3] secs

Enhancements and Advanced Techniques

Cloud Variables

Cloud variables allow data to be shared across different users' projects. They're perfect for:

  • High score leaderboards
  • Multiplayer games
  • Global counters

To create a cloud variable, check the "Cloud variable" box when making a variable. Note that cloud variables can only store numbers.

Dynamic Difficulty

Use variables to adjust game difficulty based on player performance:

if <(score) > [10]> then
  set [difficulty] to [hard]
  change [enemy_speed] by [2]
end

Save/Load Game State

Use lists to save and load game progress:

add (score) to [saved_scores]
add (player_name) to [saved_names]

// To load:
set [score] to (item [1] of [saved_scores])

Conclusion

Congratulations! You've now learned how to use variables and lists in Scratch. These powerful tools will allow you to create much more complex and engaging projects. Remember:

  • Variables store single pieces of information
  • Lists store collections of related data
  • Use descriptive names for your variables and lists
  • Test your code frequently as you build
  • Cloud variables enable online sharing and leaderboards

Practice by modifying the quiz game example or creating your own projects that use variables. The more you experiment, the more comfortable you'll become with these essential programming concepts.

Happy coding with Kodex Academy! If you have any questions, feel free to ask in the comments below.

🚀 Ready to Level Up Your Scratch Skills?

Check out our other tutorials and courses at Kodex Academy!