#include "roboevent.h"
#include <fsm.h>
-extern struct TrajectoryConstraints tcJerk, tcFast, tcSlow, tcVerySlow;
+extern struct TrajectoryConstraints tcFast, tcVeryFast, tcSlow, tcVerySlow;
+extern bool build_tower, tower, bonus_placed;
/* strategy FSM */
FSM_STATE_DECL(start_pick_all_our_figures);
-FSM_STATE_DECL(start_pick_fourth_figure);
+FSM_STATE_DECL(start_pick_two_our_figures);
FSM_STATE_DECL(start_pick_third_figure);
+FSM_STATE_DECL(start_pick_fourth_figure);
+FSM_STATE_DECL(start_pick_center_figure);
/* common FSM states */
FSM_STATE_DECL(bypass_figure_in_front_of_start);
FSM_STATE_DECL(move_around);
+FSM_STATE_DECL(place_figure_to_near_area);
+FSM_STATE_DECL(leave_near_figure);
+
+/* pick opponent bonus figure states */
+FSM_STATE_DECL(approach_opp_bonus_figure);
+FSM_STATE_DECL(load_opp_bonus_figure);
+FSM_STATE_DECL(place_opp_bonus_figure);
+FSM_STATE_DECL(leave_opp_bonus_figure);
/* pick second green figure FSM */
FSM_STATE_DECL(approach_second_green_figure);
FSM_STATE_DECL(place_figure_to_red_square);
FSM_STATE_DECL(leave_red_square_figure);
+/* pick fifth green figure FSM */
+FSM_STATE_DECL(approach_fifth_green_figure);
+FSM_STATE_DECL(load_fifth_green_figure);
+FSM_STATE_DECL(go_out_fifth_green_figure);
+
+/* pick center figure FSM */
+FSM_STATE_DECL(approach_center_figure);
+FSM_STATE_DECL(load_center_figure);
+
void start_entry();
void start_timer();
void start_go();
void start_exit();
+bool read_sharp();
#endif