1 #include "common-states.h"
3 #include "eb2010misc.h"
6 UL_LOG_CUST(ulogd_strategy_12_oranges); /* Log domain name = ulogd + name of the file */
8 static FSM_STATE_DECL(pick_our_oranges);
10 FSM_STATE(start_12_oranges)
16 ul_logmsg("waiting for start\n");
22 FSM_TRANSITION(pick_our_oranges);
31 case EV_SWITCH_STRATEGY:
32 FSM_TRANSITION(start_opp_corn);
39 #undef FSM_STATE_VISIBILITY
40 #define FSM_STATE_VISIBILITY static
42 FSM_STATE_DECL(pick_rest_of_our_oranges);
43 FSM_STATE_DECL(unload_oranges);
44 FSM_STATE_DECL(pick_opp_oranges);
45 FSM_STATE_DECL(opp_corns);
47 FSM_STATE(pick_our_oranges)
50 case EV_ENTRY: SUBFSM_TRANSITION(approach_the_slope, new slope_approach_style(MINE, NEAR_PLAYGROUND_BOUNDARY)); break;
51 case EV_RETURN: FSM_TRANSITION(pick_rest_of_our_oranges); break;
56 FSM_STATE(pick_rest_of_our_oranges)
59 case EV_ENTRY: SUBFSM_TRANSITION(approach_the_slope, new slope_approach_style(MINE, NEAR_PLAYGROUND_CENTER)); break;
60 case EV_RETURN: FSM_TRANSITION(unload_oranges); break;
65 FSM_STATE(unload_oranges)
68 case EV_ENTRY: SUBFSM_TRANSITION(to_cntainer_and_unld, NULL); break;
69 case EV_RETURN: FSM_TRANSITION(pick_opp_oranges); break;
74 FSM_STATE_DECL(pick_rest_of_opp_oranges);
75 FSM_STATE(pick_opp_oranges)
78 case EV_ENTRY: SUBFSM_TRANSITION(approach_the_slope, new slope_approach_style(OPPONENTS, NEAR_PLAYGROUND_BOUNDARY)); break;
79 case EV_RETURN: FSM_TRANSITION(pick_rest_of_opp_oranges); break;
84 FSM_STATE_DECL(unload_opp_oranges);
85 FSM_STATE(pick_rest_of_opp_oranges)
88 case EV_ENTRY: SUBFSM_TRANSITION(approach_the_slope, new slope_approach_style(OPPONENTS, NEAR_PLAYGROUND_CENTER)); break;
89 case EV_RETURN: FSM_TRANSITION(unload_opp_oranges); break;
94 FSM_STATE(unload_opp_oranges)
97 case EV_ENTRY: SUBFSM_TRANSITION(to_cntainer_and_unld, NULL); break;
98 case EV_RETURN: FSM_TRANSITION(opp_corns); break;
106 case EV_ENTRY: SUBFSM_TRANSITION(approach_next_corn, NULL); break;
107 case EV_RETURN: FSM_TRANSITION(opp_corns); break;