Variables#
Introduction#
The Variables blocks in VEXcode AIR allow for storing and managing data, including numbers, Boolean values, lists, and 2D lists.
To make a variables blocks appear you must first create a variable. Variables are created using the Make buttons in the Variables category. All variables are global by default, meaning they can be used anywhere in the project.
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 — Returns 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 — Returns the number of rows or columns in a 2D list.
numeric variable#
The numeric variable reporter block is used to report the numeric value assigned to the variable.
(my_variable)
Parameter |
Description |
---|---|
This block has no parameters. |
Example
when started :: hat events
[Use a variable to fly forward and back the same distance.]
set [fly_distance v] to [90]
take off to [500] [mm v] ▶
move [forward v] for (fly_distance) [mm v] ▶
wait (1) seconds
move [backward v] for (fly_distance) [mm v] ▶
wait (1) seconds
land ▶
set numeric variable#
The set numeric variable 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 :: hat events
[Set a variable to fly forward and back the same distance.]
set [fly_distance v] to [90]
take off to [500] [mm v] ▶
move [forward v] for (fly_distance) [mm v] ▶
wait (1) seconds
move [backward v] for (fly_distance) [mm v] ▶
wait (1) seconds
land ▶
change numeric variable#
The change numeric variable 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 :: hat events
[Fly forward for 50, 150, and 250mm.]
set [fly_distance v] to [50]
take off to [500] [mm v] ▶
repeat (3)
move [forward v] for (fly_distance) [mm v] ▶
wait (1) seconds
change [fly_distance v] by (100)
end
land ▶
Boolean variable#
The Boolean variable block is used to report 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!] on screen ▶
end
set Boolean variable#
The set Boolean variable 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
[Display different messages based on the Boolean value.]
set [my_boolean v] to <true v>
if <my_boolean> then
print [It's true!] on screen ▶
else
print [That's false...] on screen ▶
end
list item#
The list item block is used to report the value of an item in a list.
(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 second item from a list.]
set [my_list v] to [Drone] [Controller] [Headset]
print (item (2) of [my_list v]) on screen ▶
replace list item#
The replace list item 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
[Replace the first item in a list with "AprilTag".]
set [my_list v] to [Drone] [Controller] [Headset]
replace item (1) of [my_list v] to [AprilTag]
print (item (1) of [my_list v]) on screen ▶
set list items#
The set list items 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
[Display the last item in a list.]
set [my_list v] to [Red] [Green] [Blue]
print (item (3) of [my_list v]) on screen ▶
length of list#
The length of list 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
[Display how many items are in a list.]
set [my_list v] to [Red] [Green] [Blue]
print (length of [my_list v]) on screen ▶
2D list item#
The 2D list item block is used to report the value of an item in a 2D list.
(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
[Display an item from a 2D list.]
set [my_2d_list v] to ([1][Drone]) ([4][Propeller])
print (item (2) (2) of [my_2d_list v]) on screen ▶
replace 2D list item#
The replace 2D list item 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
[Replace a value in a 2D list and print the updated item.]
set [my_2d_list v] to ([1][Drone]) ([4][Propeller])
replace item [2] [2] of [my_2d_list v] to [Headset]
print (item (2) (2) of [my_2d_list v]) on screen ▶
set 2D list items#
The set 2D list items 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
[Display an item from a 2D list.]
set [my_2d_list v] to ([1][Drone]) ([4][Propeller])
print (item (1) (2) of [my_2d_list v]) on screen ▶
length of 2D list#
The length of 2D list 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 column. |
Example
when started
[Set a 2D list and print the number of rows it has.]
set [my_2d_list v] to ([1][Drone]) ([4][Propeller])
print (length of [my_2d_list v] [rows v]) on screen ▶