 Operation
 Definition
 Example
 Result

Arithmetic Operations
 x + y
x  y x * y x / y
 Basic arithmetic operations

3 + 4
x * (3  y)

7
f(x, y)

Agent Query Functions
 agents_with_shape(shape_name)
 Query function that returns the number of agents with a given shape.
 agents_with_shape("dead_frog")
 returns the number of agents that have a shape with the name "dead_frog" in the simulation.

agents_of_type(agent_name)
 Query function that returns the number of agents with a given name.
 agents_of_type("frog")
 returns the number of "frog" agents in the simulation.

Agent Attribute Access
 attribute
 Access the value of an agent attribute. An agent can have any number of attributes defined by the user
 Diameter
Diameter * 3.14
 value of the agent attribute "Diameter"
value of attribute "Diameter" multiplied by 3.14

Remote Agent Attribute Access
 attribute[up]
attribute[down] attribute[left] attribute[right] attribute[top] attribute[bottom] attribute[row, col]
attribute[stacked_below]
attribute[stacked_above]
attribute[layer_above]
attribute[layer_below]
 Access the value of other agents' attribute using relative coordinates.
Valid coordinates are up, down, left, right, top and bottom. Coordinates can also be specified numerically as row, column. Valid values for row and column are 1, 0, 1. Positive row values indicates down, positive column indicates right.
 age[left]
age[top] Temperature[1,1] 0.25 * (Temp[left] + Temp[right]+ Temp[up] + Temp[down])
 value of the "Age" attribute of agent to the left
value of the "Age" attribute of the agent on top value of the "Temperature" attribute of the agent above to the left The average of the value of the "Temp" attribute of the agents left, right, up and down.

Simulation Property Access
 @simproperty
 Access the value of a global simulation property
Simulation Properties are used to share information between agents. Users can inspect and edit the values of simulation properties using the simulation property editor. The "@" sign is used to differentiate the simulation properties from agent attributes.
 @Time
 value of simulation property "Time"

Trigonometric Functions
 sin(x)
 Trigonometric function sine, where x is expressed in radians
 sin(3)
 0.1411

cos(x)
 Trigonometric function cosine, where x is expressed in radians
 cos(3)
 0.9900

tan(x)
 Trigonometric function tangent, where x is expressed in radians
 tan(3)
 0.1425

Random Number Generator
 random(number)
 Returns a pseudo random number between zero and number .
AgentSheets differentiates between integers and decimal numbers. If the number is an integer (e.g. 4), an integer between 0 and number is returned, whereas if number is a decimal number, a decimal number between 0 and number is returned.
 random(4.0)
random(4)
 returns decimal number between 0 (inclusive) and 4.0 (exclusive)
returns either 0, 1, 2, or 3

Other
 x ^^ y
 Exponentiation function. Raises the base number x to the exponent y
 15^^4
 50625

sqrt(x)
 Square root function. Takes the square root of number x, where x is a nonnegative integer or a decimal number (x>=0).
 sqrt(256)
 16

x % y
 Modulo function. Gives the remainder of the division of x / y.
 17 % 4
 1
