Variables#
Introduction#
The Variable blocks in VEXcode VR let you store information that your project can use later. A variable is like a labeled container that holds a value, such as a number, a Boolean, or a list of items.
You would use a variable when you want your project to remember something while it is running. For example, a variable could keep track of how many times the robot has moved, how many objects it has counted, or whether a goal has been reached.
Variables are helpful when the information in a project might change. Instead of writing the same number or answer in many places, you can store it in a variable and update it as the project runs. This makes your project easier to change, check, and understand.
In VEXcode VR, Variable blocks can store different kinds of information, including numbers, Boolean values such as true or false, lists, and 2D lists. These blocks are useful when a project needs to count, make decisions, track progress, or organize information.
Below is a list of available blocks:
Numeric Variables - Store and modify numbers.
numeric variable – Reports the value of a numeric variable.
set numeric variable – Assigns a value to a numeric variable.
change numeric variable – Increases or decreases a numeric variable by a set amount.
Boolean Variables – Store True or False values.
Boolean variable – Reports the value of a Boolean variable.
set Boolean variable – Assigns a True or False value to a Boolean variable.
Lists – Store and manage collections of values.
list item – Reports a value from a list based on its position.
replace list item – Updates a specific item in a list.
set list items – Assigns values to a list.
length of list – Reports the number of items in a list.
2D Lists – Store and manage collection of values in a grid.
2D list item – Reports a value from a specific row and column in a 2D list.
replace 2D list item – Updates a specific item in a 2D list.
set 2D list items – Assigns values to a 2D list.
length of 2D list – Reports the number of rows or columns in a 2D list.
numeric variable#
The numeric variable reporter block reports the numeric value assigned to the variable.
(my_variable)
Parameter |
Description |
|---|---|
This block has no parameters. |
Example
when started
[Display the value of the variable.]
set [deliveries v] to [2]
print (deliveries) ▶
set numeric variable#
The set numeric variable stack block assigns a value to a numeric variable.
Parameter |
Description |
|---|---|
variable |
The numeric variable to assign a value to. Users can select an existing variable, rename it, or delete it. |
value |
The number assigned to the variable (can be a whole number, decimal, or numeric block). |
Example
when started
[Display the value of the variable.]
set [deliveries v] to [2]
print (deliveries) ▶
change numeric variable#
The change numeric variable stack block increases or decreases a variable’s value by a given amount.
change [my_variable v] by (1)
Parameter |
Description |
|---|---|
variable |
The numeric variable to modify. Users can select an existing variable, rename it, or delete it. |
value |
The amount to increase or decrease the variable by. |
Example
when started
[Deliver a package twice.]
set [deliveries v] to [0]
drive [forward v] for (100) [mm v] ▶
change [deliveries v] by [1]
drive [forward v] for (100) [mm v] ▶
change [deliveries v] by [1]
print (deliveries) ▶
Boolean variable#
The Boolean variable Boolean block reports either a True or False value.
<my_boolean>
Parameter |
Description |
|---|---|
This block has no parameters. |
Example
when started :: hat events
[Display a message if the variable is set to True.]
set [my_boolean v] to <true v>
if <my_boolean> then
print [Boolean is True!] ▶
end
set Boolean variable#
The set Boolean variable stack block assigns a True or False value to a Boolean variable.
set [my_boolean v] to <true v>
Parameter |
Description |
|---|---|
variable |
The Boolean variable to assign a value to. Users can select an existing variable, rename it, or delete it. |
value |
A Boolean value (True or False). |
Example
when started
[Repeat until 3 deliveries are made.]
set [finished v] to <false v>
set [deliveries v] to [0]
repeat until <finished>
drive [forward v] for (100) [mm v] ▶
change [deliveries v] by [1]
if <(deliveries) [math_equal v] [3]> then
set [finished v] to <true v>
list item#
The list item reporter block reports the value of an item in a list. A list is a variable that can store multiple variables of the same type.
(item (1) of [my_list v])
Parameter |
Description |
|---|---|
index |
The position of the item in the list (starting at 1). |
variable |
The list variable to report an item from. Users can select an existing list, rename it, or delete it. |
Example
when started
[Display the delivery locations.]
set [delivery_spots v] to [Red House] [Green House] [Blue House]
drive [forward v] for (100) [mm v] ▶
print (item (1) of [delivery_spots v]) ▶
drive [forward v] for (100) [mm v] ▶
print (item (2) of [delivery_spots v]) ▶
drive [forward v] for (100) [mm v] ▶
print (item (3) of [delivery_spots v]) ▶
replace list item#
The replace list item stack block updates a specific item in a list.
replace item (1) of [my_list v] to (1)
Parameter |
Description |
|---|---|
variable |
The list variable containing the item to modify. Users can select an existing list, rename it, or delete it. |
index |
The position of the item in the list (starting at 1). |
value |
The new value assigned to the specified list item. |
Example
when started :: hat events
[Replace the first item in a list with 4.]
set [my_list v] to (5) (1) (9)
replace item (1) of [my_list v] to (4)
print (item (1) of [my_list v]) ▶
set list items#
The set list items stack block sets every item in the list to the entered values.
set [my_list v] to (0) (0) (0)
Parameter |
Description |
|---|---|
variable |
The list variable being assigned values. Users can select an existing list, rename it, or delete it. |
values |
The values to store in the list, entered as individual items. |
Example
when started :: hat events
[Display the last item in a list.]
set [my_list v] to (1) (2) (3)
print (item (3) of [my_list v]) ▶
length of list#
The length of list reporter block reports the number of items in a list.
(length of [my_list v])
Parameter |
Description |
|---|---|
variable |
The list variable to report the length of. Users can select an existing list, rename it, or delete it. |
Example
when started :: hat events
[Display how many items are in a list.]
set [my_list v] to (1) (2) (3)
print (length of [my_list v]) ▶
2D list item#
The 2D list item reporter block reports the value of an item in a 2D list. 2D lists are variables that store multiple list variables.
(item (1) (1) of [my_2d_list v])
Parameter |
Description |
|---|---|
row |
The row of the item (starting at 1). |
column |
The column of the item (starting at 1). |
variable |
The 2D list variable to report an item from. Users can select an existing 2D list, rename it, or delete it. |
Example
when started :: hat events
[Display an item from a 2D list.]
set [my_2d_list v] to ([1][7]) ([2][8])
print (item (2) (2) of [my_2d_list v]) ▶
replace 2D list item#
The replace 2D list item stack block updates a specific item in a 2D list.
replace item (1) (1) of [my_2d_list v] to (1)
Parameter |
Description |
|---|---|
row |
The row index of the item (starting at 1). |
column |
The column index of the item (starting at 1). |
variable |
The 2D list variable containing the item to modify. Users can select an existing 2D list, rename it, or delete it from the drop-down menu. |
value |
The new value assigned to the specified 2D list item. |
Example
when started :: hat events
[Replace a value in a 2D list and print the updated item.]
set [my_2d_list v] to ([1][2]) ([3][4])
replace item (2) (2) of [my_2d_list v] to (25)
print (item (2) (2) of [my_2d_list v]) ▶
set 2D list items#
The set 2D list items stack block sets every item in the 2D list to the entered values.
set [my_2d_list v] to ([0][0]) ([0][0])
Parameter |
Description |
|---|---|
variable |
The 2D list variable being assigned values. Users can select an existing 2D list, rename it, or delete it. |
values |
The values to store in the 2D list, entered row by row. |
Example
when started :: hat events
[Display an item from a 2D list.]
set [my_2d_list v] to ([1][4]) ([2][15])
print (item (1) (2) of [my_2d_list v]) ▶
length of 2D list#
The length of 2D list reporter block reports the number of rows or columns in a 2D list.
length of [my_2d_list v] [rows v]
Parameter |
Description |
|---|---|
variable |
The 2D list variable to check the length of. Users can select an existing 2D list, rename it, or delete it. |
rows/columns |
Whether to report the number of rows or columns. |
Example
when started :: hat events
[Set a 2D list and print the number of rows it has.]
set [my_2d_list v] to ([1][5]) ([3][6])
print (length of [my_2d_list v] [rows v]) ▶