vec3(float x, float y, float z)
[
]
Elephant
[
enum STATES
{
STANDING = 0
WALING
SITTING
JUMPING
}
vec3 position(25.5, 15.0, .5)
STATES state
void setState(STATE state)
{
:state = state
}
]
Jacket
[
vec3 colour(1.0, 0, .5)
void setColour(vec3 color)
{
:color = color
}
]
Hat
[
vec3 colour(1.0, 0, .5)
void setColour(vec3 color)
{
:color = color
}
]
ClothedElephant:Elephant, Hat, Jacket
[
Hat:setColor(0.0, 1.0, 0.0)
Jacket:setColor(0.0, 1.0, 0.0)
setState(STATE state)
{
:setState(state)
switch (state)
{
STANDING
{
Hat:setColour(1.0, 0.0, 0.0)
}
WALING
{
Hat:setColour(0.0, 1.0, 0.0)
}
SITTING
{
Hat:setColour(0.0, 0.0, 1.0)
}
JUMPING
{
Hat:setColour(1.0, 1.0, 1.0)
}
default
{
Hat:setColour(0.0, 0.0, 0.0)
}
}
}
void setColour(vec3 color)
{
Hat:setColour(color)
Jacket:setColour(color)
}
]
vec3 position
int a;
int b;
int c;
Elephant elephant;
ClothedElephant elephants[][];
void init()
{
a = 10
position(10.0, 15.0, 20.0)
elephant.setState(Elephant:STATES:SITTING)
elephants[8];
elephants[][12];
}
void run()
{
if (position == vec3(10.0, 15.0, 0.0)) elephant.setState(Elephant:STATES:JUMPING)
if (a < 5) elephants[][]
}