>xabsl
Behavior Documentation
>
Index
>Agents
>Symbols
>Basic Behaviors
>Options
>> playing-striker
>>>
ball-not-known-for-long
>>>
handle-ball
>>>
get-to-ball
>>>
ball-in-own-penalty-area
Option playing-striker
The striker playing
State Machine
This browser can't display the SVG file
svg/option_playing-striker.svg
.
The
Adobe SVG Viewer 3.0
can be downloaded from
http://www.adobe.com/svg/viewer/install/main.html
State ball-not-known-for-long
This state is a target state.
If that state is active,
>
The option
search-for-ball
is executed.
The decision tree:
This browser can't display the SVG file
svg/option_playing-striker_state_ball-not-known-for-long.svg
.
The
Adobe SVG Viewer 3.0
can be downloaded from
http://www.adobe.com/svg/viewer/install/main.html
Pseudo code of the decision tree:
if
(
ball.is-handled-at-the-moment
)
// ball is handled
{
transition-to-state(
handle-ball
);
}
else if
(
ball.time-since-last-known
> 12000
)
// ball not known for long
{
transition-to-state(
ball-not-known-for-long
);
}
else
{
transition-to-state(
handle-ball
);
}
State handle-ball
This state is a target state.
If that state is active,
>
The option
handle-ball
is executed.
The decision tree:
This browser can't display the SVG file
svg/option_playing-striker_state_handle-ball.svg
.
The
Adobe SVG Viewer 3.0
can be downloaded from
http://www.adobe.com/svg/viewer/install/main.html
Pseudo code of the decision tree:
if
(
ball.is-handled-at-the-moment
)
// ball is handled
{
transition-to-state(
handle-ball
);
}
else if
(
ball.time-since-last-known
> 12000
)
// ball not known for long
{
transition-to-state(
ball-not-known-for-long
);
}
else
{
if
(
ball.is-handled-at-the-moment
)
// ball is handled
{
transition-to-state(
handle-ball
);
}
else if
(
(
ball.time-since-last-seen
< 500
)
&&
(
ball.seen.distance-to-own-penalty-area
< 20
)
)
// ball seen in own penalty area
{
transition-to-state(
ball-in-own-penalty-area
);
}
else if
(
(
ball.time-since-last-known
< 1000
)
&&
(
ball.seen.distance
>
ball-not-near-distance
)
&&
(
obstacles.close
)
)
// not near the ball
{
transition-to-state(
get-to-ball
);
}
else
{
transition-to-state(
handle-ball
);
}
}
State get-to-ball
This state is a target state.
If that state is active,
>
The option
get-to-ball-and-avoid-obstacles
is executed.
The decision tree:
This browser can't display the SVG file
svg/option_playing-striker_state_get-to-ball.svg
.
The
Adobe SVG Viewer 3.0
can be downloaded from
http://www.adobe.com/svg/viewer/install/main.html
Pseudo code of the decision tree:
if
(
ball.is-handled-at-the-moment
)
// ball is handled
{
transition-to-state(
handle-ball
);
}
else if
(
ball.time-since-last-known
> 12000
)
// ball not known for long
{
transition-to-state(
ball-not-known-for-long
);
}
else
{
if
(
(
ball.time-since-last-seen
< 500
)
&&
(
ball.seen.distance-to-own-penalty-area
< 20
)
)
// ball seen in own penalty area
{
transition-to-state(
ball-in-own-penalty-area
);
}
else if
(
(
ball.time-since-last-seen
< 1000
)
&&
(
ball.seen.distance
<
ball-near-distance
)
)
// near the ball
{
transition-to-state(
handle-ball
);
}
else
{
transition-to-state(
get-to-ball
);
}
}
State ball-in-own-penalty-area
This state is a target state.
If that state is active,
>
The option
position-striker-when-ball-in-own-penalty-area
is executed.
The decision tree:
This browser can't display the SVG file
svg/option_playing-striker_state_ball-in-own-penalty-area.svg
.
The
Adobe SVG Viewer 3.0
can be downloaded from
http://www.adobe.com/svg/viewer/install/main.html
Pseudo code of the decision tree:
if
(
ball.is-handled-at-the-moment
)
// ball is handled
{
transition-to-state(
handle-ball
);
}
else if
(
ball.time-since-last-known
> 12000
)
// ball not known for long
{
transition-to-state(
ball-not-known-for-long
);
}
else
{
if
(
(
ball.time-since-last-seen
< 1000
)
&&
(
ball.seen.distance-to-own-penalty-area
> 70
)
)
// ball seen outside own penalty area
{
transition-to-state(
handle-ball
);
}
else
{
transition-to-state(
ball-in-own-penalty-area
);
}
}