Arithmetic Expressions
[Link]
Arithmetic Expression
What is an Arithmetic Expression
Traditional math and formula computations are implemented as arithmetic expressions in
a computer program.
An arithmetic expression:
- is a combination of operators and operands
- evaluates to a numeric value
Arithmetic Expression
Operand Types
A numeric operand can be either
A whole number (integer)
Or a floating pt number (decimal number).
This also includes functions that resolve to a whole number or decimal
- Get distance, get width, and get double or integer from user
Arithmetic Expression
Operators
Arithmetic operators are mathematical function that takes two operands and perform a calculation on them such as:
Addition +
Subtraction -
Multiplication *
Division /
Remainder (mod) %
Alice also supports mathematical functions that can be performed such as resolving between a minimum or
maximum value, getting the square root, or even sine or cosine.
Arithmetic Expression
Creating Arithmetic Expression
In Alice these can be accessed using the Math drop down
menu item when modifying a parameter that uses the whole
number or decimal data type.
You first select the operator and then select the operands.
You can use placeholders that you then replace with
functions or variables.
Alice in most cases assumes a binary expression but you
can string multiple arithmetic expressions together by
further modifying operands.
Arithmetic Expression
Common Uses of Arithmetic Expression
Common uses of mathematical equations in Alice are:
- To modify a distance or spatial relationship
- To calculate a number of iterations for a count loop
- To increment or decrement a variable
Arithmetic Expression
Calculating a Distance
In Alice the location of an object in space is often unknown
due to the way you build your scene.
Using the get distance function to determine how far to
have something move can be an easy way to animate an
object moving the distance.
However because using the getDistance functions calculates
the value based on the middle of the objects this function by
itself will stack the objects on top of each other.
A simple arithmetic expression can help you modify the
statement to have the object stop just short of the target
object.
Arithmetic Expression
Calculating Number of Iterations
In animation you may want to have a looping animation run
an unknown amount of times to match another animation:
- having a certain amount of walking motions happen
depending on the distance traveled
- Having the mouth move to match the duration of a
dialogue
You can have the number of loops = the distance or
duration of a dialogue / the duration or distance of the walk
or talk cycle
*Example uses integer divide to round off a whole number
to be compliant with Loop data type
Arithmetic Expression
Incrementing and Decrementing
When using variable you will often want to
increment or decrement the value when events
happen in the world such as:
- TimeVariable - 1 to count down based on a
timer event
- ScoreVariable + 1 to track score based on a
triggering event
- ItemsCollected + 1 to track an item count
based on a triggering event
*example shows a timer event triggered every
second that decrements the time left variable