>xabsl
Behavior Documentation
>
Index
>Agents
>Symbols
>Basic Behaviors
>Options
>> initial_ready_set_play
>>>
_initial
>>>
ready
>>>
set
>>>
playing
>>>
penalized
>>>
finished
>>>
penalty_ready
>>>
penalty_goalie
>>>
penalty_shooter
>>>
penalty_wait
Option initial_ready_set_play
This is the "main" file for playing
State Machine
This browser can't display the SVG file
svg/option_initial_ready_set_play.svg
.
The
Adobe SVG Viewer 3.0
can be downloaded from
http://www.adobe.com/svg/viewer/install/main.html
State _initial
If that state is active,
>
This enumerated output symbol is set:
head.control_mode
=
head.control_mode.look_straight_ahead
>
This enumerated output symbol is set:
motion.type
=
motion.type.stand
>
This decimal output symbol is set:
strategy.estimated_time_to_reach_ball
=
-1
>
The option
display_kickoff
is executed.
>
The option
calibrate_horizon
is executed.
The decision tree:
This browser can't display the SVG file
svg/option_initial_ready_set_play_state__initial.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
(
game.secondary_state
()
== game.secondary_state.penalty_shoot
)
{
/** */
if
(
(
game.player_number
()
== 1
)
&&
(
game.own_team_color
()
== game.team_color.red
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
(
game.player_number
()
!= 1
)
&&
(
game.own_team_color
()
== game.team_color.blue
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
/** */
if
(
game.player_number
()
== 1
)
{
goto
penalty_goalie
;
}
else
{
goto
penalty_shooter
;
}
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
}
}
else
{
/** */
if
(
game.secondary_state
()
== game.secondary_state.normal
)
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
set
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
goto
playing
;
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
else
{
stay;
}
}
State ready
If that state is active,
>
This enumerated output symbol is set:
head.control_mode
=
head.control_mode.search_for_landmarks
>
The option
display_kickoff
is executed.
>
The option
ready_state
is executed.
>
This decimal output symbol is set:
strategy.estimated_time_to_reach_ball
=
-1
The decision tree:
This browser can't display the SVG file
svg/option_initial_ready_set_play_state_ready.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
(
game.secondary_state
()
== game.secondary_state.penalty_shoot
)
{
/** */
if
(
(
game.player_number
()
== 1
)
&&
(
game.own_team_color
()
== game.team_color.red
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
(
game.player_number
()
!= 1
)
&&
(
game.own_team_color
()
== game.team_color.blue
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
/** */
if
(
game.player_number
()
== 1
)
{
goto
penalty_goalie
;
}
else
{
goto
penalty_shooter
;
}
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
}
}
else
{
/** */
if
(
game.secondary_state
()
== game.secondary_state.normal
)
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
set
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
goto
playing
;
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
else
{
stay;
}
}
State set
If that state is active,
>
The option
display_kickoff
is executed.
>
This enumerated output symbol is set:
head.control_mode
=
head.control_mode.search_for_ball
>
This enumerated output symbol is set:
motion.type
=
motion.type.stand
>
This decimal output symbol is set:
strategy.estimated_time_to_reach_ball
=
-1
The decision tree:
This browser can't display the SVG file
svg/option_initial_ready_set_play_state_set.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
(
game.secondary_state
()
== game.secondary_state.penalty_shoot
)
{
/** */
if
(
(
game.player_number
()
== 1
)
&&
(
game.own_team_color
()
== game.team_color.red
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
(
game.player_number
()
!= 1
)
&&
(
game.own_team_color
()
== game.team_color.blue
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
/** */
if
(
game.player_number
()
== 1
)
{
goto
penalty_goalie
;
}
else
{
goto
penalty_shooter
;
}
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
}
}
else
{
/** */
if
(
game.secondary_state
()
== game.secondary_state.normal
)
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
set
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
goto
playing
;
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
else
{
stay;
}
}
State playing
If that state is active,
>
This enumerated output symbol is set:
head.control_mode
=
head.control_mode.look_straight_ahead
>
The option
decide_current_role
is executed.
The decision tree:
This browser can't display the SVG file
svg/option_initial_ready_set_play_state_playing.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
(
game.secondary_state
()
== game.secondary_state.penalty_shoot
)
{
/** */
if
(
(
game.player_number
()
== 1
)
&&
(
game.own_team_color
()
== game.team_color.red
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
(
game.player_number
()
!= 1
)
&&
(
game.own_team_color
()
== game.team_color.blue
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
/** */
if
(
game.player_number
()
== 1
)
{
goto
penalty_goalie
;
}
else
{
goto
penalty_shooter
;
}
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
}
}
else
{
/** */
if
(
game.secondary_state
()
== game.secondary_state.normal
)
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
set
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
goto
playing
;
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
else
{
stay;
}
}
State penalized
If that state is active,
>
This enumerated output symbol is set:
head.control_mode
=
head.control_mode.look_down
>
This enumerated output symbol is set:
motion.type
=
motion.type.stand
>
This decimal output symbol is set:
strategy.estimated_time_to_reach_ball
=
-1
The decision tree:
This browser can't display the SVG file
svg/option_initial_ready_set_play_state_penalized.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
(
game.secondary_state
()
== game.secondary_state.penalty_shoot
)
{
/** */
if
(
(
game.player_number
()
== 1
)
&&
(
game.own_team_color
()
== game.team_color.red
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
(
game.player_number
()
!= 1
)
&&
(
game.own_team_color
()
== game.team_color.blue
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
/** */
if
(
game.player_number
()
== 1
)
{
goto
penalty_goalie
;
}
else
{
goto
penalty_shooter
;
}
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
}
}
else
{
/** */
if
(
game.secondary_state
()
== game.secondary_state.normal
)
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
set
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
goto
playing
;
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
else
{
stay;
}
}
State finished
If that state is active,
>
The basic behavior
shut_down
is executed.
The decision tree:
This browser can't display the SVG file
svg/option_initial_ready_set_play_state_finished.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
(
game.secondary_state
()
== game.secondary_state.penalty_shoot
)
{
/** */
if
(
(
game.player_number
()
== 1
)
&&
(
game.own_team_color
()
== game.team_color.red
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
(
game.player_number
()
!= 1
)
&&
(
game.own_team_color
()
== game.team_color.blue
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
/** */
if
(
game.player_number
()
== 1
)
{
goto
penalty_goalie
;
}
else
{
goto
penalty_shooter
;
}
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
}
}
else
{
/** */
if
(
game.secondary_state
()
== game.secondary_state.normal
)
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
set
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
goto
playing
;
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
else
{
stay;
}
}
State penalty_ready
If that state is active,
>
This enumerated output symbol is set:
head.control_mode
=
head.control_mode.search_for_landmarks
>
This enumerated output symbol is set:
motion.type
=
motion.type.stand
The decision tree:
This browser can't display the SVG file
svg/option_initial_ready_set_play_state_penalty_ready.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
(
game.secondary_state
()
== game.secondary_state.penalty_shoot
)
{
/** */
if
(
(
game.player_number
()
== 1
)
&&
(
game.own_team_color
()
== game.team_color.red
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
(
game.player_number
()
!= 1
)
&&
(
game.own_team_color
()
== game.team_color.blue
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
/** */
if
(
game.player_number
()
== 1
)
{
goto
penalty_goalie
;
}
else
{
goto
penalty_shooter
;
}
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
}
}
else
{
/** */
if
(
game.secondary_state
()
== game.secondary_state.normal
)
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
set
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
goto
playing
;
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
else
{
stay;
}
}
State penalty_goalie
If that state is active,
>
The option
penalty_goalie
is executed.
The decision tree:
This browser can't display the SVG file
svg/option_initial_ready_set_play_state_penalty_goalie.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
(
game.secondary_state
()
== game.secondary_state.penalty_shoot
)
{
/** */
if
(
(
game.player_number
()
== 1
)
&&
(
game.own_team_color
()
== game.team_color.red
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
(
game.player_number
()
!= 1
)
&&
(
game.own_team_color
()
== game.team_color.blue
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
/** */
if
(
game.player_number
()
== 1
)
{
goto
penalty_goalie
;
}
else
{
goto
penalty_shooter
;
}
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
}
}
else
{
/** */
if
(
game.secondary_state
()
== game.secondary_state.normal
)
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
set
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
goto
playing
;
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
else
{
stay;
}
}
State penalty_shooter
If that state is active,
>
The option
penalty_shooter
is executed.
The decision tree:
This browser can't display the SVG file
svg/option_initial_ready_set_play_state_penalty_shooter.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
(
game.secondary_state
()
== game.secondary_state.penalty_shoot
)
{
/** */
if
(
(
game.player_number
()
== 1
)
&&
(
game.own_team_color
()
== game.team_color.red
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
(
game.player_number
()
!= 1
)
&&
(
game.own_team_color
()
== game.team_color.blue
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
/** */
if
(
game.player_number
()
== 1
)
{
goto
penalty_goalie
;
}
else
{
goto
penalty_shooter
;
}
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
}
}
else
{
/** */
if
(
game.secondary_state
()
== game.secondary_state.normal
)
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
set
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
goto
playing
;
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
else
{
stay;
}
}
State penalty_wait
If that state is active,
>
This enumerated output symbol is set:
motion.type
=
motion.type.play_dead
The decision tree:
This browser can't display the SVG file
svg/option_initial_ready_set_play_state_penalty_wait.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
(
game.secondary_state
()
== game.secondary_state.penalty_shoot
)
{
/** */
if
(
(
game.player_number
()
== 1
)
&&
(
game.own_team_color
()
== game.team_color.red
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
(
game.player_number
()
!= 1
)
&&
(
game.own_team_color
()
== game.team_color.blue
)
)
{
goto
penalty_wait
;
}
else
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
penalty_ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
/** */
if
(
game.player_number
()
== 1
)
{
goto
penalty_goalie
;
}
else
{
goto
penalty_shooter
;
}
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
}
}
else
{
/** */
if
(
game.secondary_state
()
== game.secondary_state.normal
)
{
/** */
if
(
game.state
()
== game.state._initial
)
{
goto
_initial
;
}
else
{
/** */
if
(
game.state
()
== game.state.ready
)
{
goto
ready
;
}
else
{
/** */
if
(
game.state
()
== game.state.set
)
{
goto
set
;
}
else
{
/** */
if
(
game.state
()
== game.state.playing
)
{
/** */
if
(
game.penalty
()
== game.penalty.none
)
{
goto
playing
;
}
else
{
goto
penalized
;
}
}
else
{
goto
finished
;
}
}
}
}
}
else
{
stay;
}
}